<html>
<head>
  <title>19-redo日志</title>
  <basefont face="微软雅黑" size="2" />
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="exporter-version" content="YXBJ Windows/600646 (zh-CN, DDL); Windows/6.1.1 (Win64);"/>
  <meta name="content-class" content="yinxiang.markdown"/>
  <style>
    body, td {
      font-family: 微软雅黑;
      font-size: 10pt;
    }
  </style>
</head>
<body>
<a name="941"/>
<h1>19-redo日志</h1>

<div><span><div style="font-size: 14px; margin: 0; padding: 0; width: 100%;"><p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB存储引擎是以页为单位来管理存储空间的，我们进行的增删改查操作其实本质上都是在访问页面（包括读页面、写页面、创建新页面等操作）。在真正访问页面之前，需要把在磁盘上的页缓存到内存中的Buffer Pool之后才可以访问。但是在讲事务的时候又强调过一个称之为持久性的特性，就是说对于一个已经提交的事务，在事务提交后即使系统发生了崩溃，这个事务对数据库中所做的更改也不能丢失。但是如果我们只在内存的Buffer Pool中修改了页面，假设在事务提交后突然发生了某个故障，导致内存中的数据都失效了，那么这个已经提交了的事务对数据库中所做的更改也就跟着丢失了，这是不能接受的。<br/>
那么如何保证这个持久性呢？一个很简单的做法就是在事务提交完成之前把该事务所修改的所有页面都刷新到磁盘，但是这个简单粗暴的做法有些问题：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">刷新一个完整的数据页太浪费了<br/>
有时候我们仅仅修改了某个页面中的一个字节，但是我们知道在InnoDB中是以页为单位来进行磁盘IO的，也就是说我们在该事务提交时不得不将一个完整的页面从内存中刷新到磁盘，我们又知道一个页面默认是16KB大小，只修改一个字节就要刷新16KB的数据到磁盘上显然是太浪费了。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">随机IO刷新起来比较慢<br/>
一个事务可能包含很多语句，即使是一条语句也可能修改许多页面，倒霉催的是该事务修改的这些页面可能并不相邻，这就意味着在将某个事务修改的Buffer Pool中的页面刷新到磁盘时，需要进行很多的随机IO，随机IO比顺序IO要慢，尤其对于传统的机械硬盘来说。</p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">想让已经提交了的事务对数据库中数据所做的修改永久生效，即使后来系统崩溃，在重启后也能把这种修改恢复出来</strong>。所以我们其实没有必要在每次事务提交时就把该事务在内存中修改过的全部页面刷新到磁盘，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">只需要把修改了哪些东西记录一下就好</strong>，比方说某个事务将系统表空间中的第100号页面中偏移量为1000处的那个字节的值1改成2我们只需要记录一下：<img src="19-redo日志_files/Image.png" type="image/png" data-filename="Image.png"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这样在事务提交时，把上述内容刷新到磁盘中，即使之后系统崩溃了，重启之后只要按照上述内容所记录的步骤重新更新一下数据页，那么该事务对数据库中所做的修改又可以被恢复出来，也就意味着满足<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">持久性</strong>的要求。因为在系统奔溃重启时需要按照上述内容所记录的步骤重新更新数据页，所以上述内容也被称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">重做日志</strong>，英文名为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo log</strong>，也称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志</strong>。与在事务提交时将所有修改过的内存中的页面刷新到磁盘中相比，只将该事务执行过程中产生的redo日志刷新到磁盘的好处如下：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">redo日志占用的空间非常小<br/>
存储表空间ID、页号、偏移量以及需要更新的值所需的存储空间是很小的。</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">redo日志是顺序写入磁盘的<br/>
在执行事务的过程中，每执行一条语句，就可能产生若干条redo日志，这些日志是按照产生的顺序写入磁盘的，也就是使用顺序IO。</li>
</ul>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">1 redo日志格式</h2>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB针对事务对数据库的不同修改场景定义了多种类型的redo日志，但是绝大部分类型的redo日志都有下边这种通用的结构：<img src="19-redo日志_files/1.jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">各个部分的详细释义如下：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>：该条redo日志的类型，在MySQL 5.7.21这个版本中，InnoDB一共为redo日志设计了53种不同的类型；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">space ID</strong>：表空间ID；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">page number</strong>：页号；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">data</strong>：该条redo日志的具体内容</li>
</ul>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">1-1 简单的redo日志类型</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB把极其简单的redo日志称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">物理日志</strong>，并且根据在页面中写入数据的多少划分了几种不同的redo日志类型：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_1BYTE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">1</strong>）：表示在页面的某个偏移量处写入1个字节的redo日志类型；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_2BYTE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">2</strong>）：表示在页面的某个偏移量处写入2个字节的redo日志类型；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_4BYTE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">4</strong>）：表示在页面的某个偏移量处写入4个字节的redo日志类型；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_8BYTE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">8</strong>）：表示在页面的某个偏移量处写入8个字节的redo日志类型；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_WRITE_STRING</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">30</strong>）：表示在页面的某个偏移量处写入一串数据。</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">上边提到的Max Row ID属性实际占用8个字节的存储空间，所以在修改页面中的该属性时，会记录一条类型为MLOG_8BYTE的redo日志，MLOG_8BYTE的redo日志结构如下所示：<img src="19-redo日志_files/1 [1].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">其余MLOG_1BYTE、MLOG_2BYTE、MLOG_4BYTE类型的redo日志结构和MLOG_8BYTE的类似，只不过具体数据中包含对应个字节的数据罢了。MLOG_WRITE_STRING类型的redo日志表示写入一串数据，但是因为不能确定写入的具体数据占用多少字节，所以需要在日志结构中添加一个<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">len</strong>字段：<img src="19-redo日志_files/1 [2].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">1-2 复杂的redo日志类型</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">有时候执行一条语句会修改非常多的页面，包括系统数据页面和用户数据页面（用户数据指的就是聚簇索引和二级索引对应的B+树）。以一条INSERT语句为例，它除了要向B+树的页面中插入数据，也可能更新系统数据Max Row ID的值，不过对于我们用户来说，平时更关心的是语句对B+树所做更新：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">表中包含多少个索引，一条INSERT语句就可能更新多少棵B+树；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">针对某一棵B+树来说，既可能更新叶子节点页面，也可能更新内节点页面，也可能创建新的页面（在该记录插入的叶子节点的剩余空间比较少，不足以存放该记录时，会进行页面的分裂，在内节点页面中添加目录项记录）；</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">在语句执行过程中，INSERT语句对所有页面的修改都得保存到redo日志中去。这句话说的比较轻巧，做起来可就比较麻烦了，比方说将记录插入到聚簇索引中时，如果定位到的叶子节点的剩余空间足够存储该记录时，那么只更新该叶子节点页面就好，那么只记录一条MLOG_WRITE_STRING类型的redo日志，表明在页面的某个偏移量处增加了哪些数据就好了么？那就too young too naive了～ 别忘了一个数据页中除了存储实际的记录之后，还有什么File Header、Page Header、Page Directory等等部分（在唠叨数据页的章节有详细讲解），所以每往叶子节点代表的数据页里插入一条记录时，还有其他很多地方会跟着更新，比如说：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">可能更新Page Directory中的槽信息；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">Page Header中的各种页面统计信息，比如PAGE_N_DIR_SLOTS表示的槽数量可能会更改，PAGE_HEAP_TOP代表的还未使用的空间最小地址可能会更改，PAGE_N_HEAP代表的本页面中的记录数量可能会更改，吧啦吧啦，各种信息都可能会被修改；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">在数据页里的记录是按照索引列从小到大的顺序组成一个单向链表的，每插入一条记录，还需要更新上一条记录的记录头信息中的next_record属性来维护这个单向链表；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">等等，还有很多其他地方... ...</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">InnoDB为了记录这种复杂的页面修改redo日志，提出了一些新的redo日志类型：</strong></p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_REC_INSERT</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">9</strong>）：表示插入一条使用<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">非紧凑行格式的记录（Redundant）</strong>；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_REC_INSERT</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">38</strong>）：表示插入一条使用**紧凑行格式的记录（Compact、Dynamic、Compressed）**时的redo日志类型；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_PAGE_CREATE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">58</strong>）：表示创建一个存储<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">紧凑行格式记录的页面</strong>的redo日志类型；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_REC_DELETE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">42</strong>）：表示删除一条使用紧凑行格式记录的redo日志类型；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_LIST_START_DELETE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">44</strong>）：表示从某条给定记录开始删除页面中的一系列使用紧凑行格式记录的redo日志类型；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_LIST_END_DELETE</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">43</strong>）：与MLOG_COMP_LIST_START_DELETE类型的redo日志呼应，表示删除一系列记录直到MLOG_COMP_LIST_END_DELETE类型的redo日志对应的记录为止；<br/>
有时候我们会有删除索引列的值在某个区间范围内的所有记录的需求，这时候如果我们每删除一条记录就写一条redo日志的话，效率可能有点低，所以提出MLOG_COMP_LIST_START_DELETE和MLOG_COMP_LIST_END_DELETE类型的redo日志，可以很大程度上减少redo日志的条数。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_ZIP_PAGE_COMPRESS</strong>（<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">51</strong>）：表示压缩一个数据页的redo日志类型。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">等等，还有很多其他的redo日志类型... ...</p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这些类型的redo日志既包含<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">物理层面</strong>的意思，也包含<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">逻辑层面</strong>的意思，具体指：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">物理层面</strong>：这些日志都指明了对哪个表空间的哪个页进行了修改；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">逻辑层面</strong>：在系统崩溃重启时，并不能直接根据这些日志里的记载，将页面内的某个偏移量处回复成某个数据，而是需要调用一些系统函数，执行完这些函数后才可以将页面恢复成系统崩溃前的样子。</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">以<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_REC_INSERT</strong>为例，看一下<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_REC_INSERT</strong>的redo日志结构：<br/>
<img src="19-redo日志_files/1 [3].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这个类型为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_REC_INSERT</strong>的redo日志结构有几个地方需要注意：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">在一个数据页里，不论是叶子节点还是非叶子节点，记录都是按照索引列从小到大的顺序排序的。对于二级索引来说，当索引列的值相同时，记录还需要按照主键值进行排序。图中n_uniques的值的含义是在一条记录中，需要几个字段的值才能确保记录的唯一性，这样当插入一条记录时就可以按照记录的前n_uniques个字段进行排序。对于聚簇索引来说，n_uniques的值为主键的列数，对于其他二级索引来说，该值为索引列数+主键列数。这里需要注意的是，唯一二级索引的值可能为NULL，所以该值仍然为索引列数+主键列数；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">field1_len ~ fieldn_len代表着该记录若干个字段占用存储空间的大小，需要注意的是，这里不管该字段的类型是固定长度大小的（比如INT），还是可变长度大小（比如VARCHAR(M)）的，该字段占用的大小始终要写入redo日志中；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">offset代表的是该记录的前一条记录在页面中的地址。为啥要记录前一条记录的地址呢？这是因为每向数据页插入一条记录，都需要修改该页面中维护的记录链表，每条记录的记录头信息中都包含一个称为next_record的属性，所以在插入新记录时，需要修改前一条记录的next_record属性；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">我们知道一条记录其实由额外信息和真实数据这两部分组成，这两个部分的总大小就是一条记录占用存储空间的总大小。通过end_seg_len的值可以间接的计算出一条记录占用存储空间的总大小，为啥不直接存储一条记录占用存储空间的总大小呢？这是因为写redo日志是一个非常频繁的操作，设计InnoDB的大叔想方设法想减小redo日志本身占用的存储空间大小，所以想了一些弯弯绕的算法来实现这个目标，end_seg_len这个字段就是为了节省redo日志存储空间而提出来的。至于具体设计InnoDB的大叔到底是用了什么神奇魔法减小redo日志大小的，我们这就不多唠叨了，因为的确有那么一丢丢小复杂，说清楚还是有一点点麻烦的，而且说明白了也没啥用；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">mismatch_index的值也是为了节省redo日志的大小而设立的，大家可以忽略；</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">很显然这个类型为MLOG_COMP_REC_INSERT的redo日志并没有记录PAGE_N_DIR_SLOTS的值修改为了啥，PAGE_HEAP_TOP的值修改为了啥，PAGE_N_HEAP的值修改为了啥等等这些信息，而只是把在本页面中插入一条记录所有必备的要素记了下来，之后系统奔溃重启时，服务器会调用相关向某个页面插入一条记录的那个函数，而redo日志中的那些数据就可以被当成是调用这个函数所需的参数，在调用完该函数后，页面中的PAGE_N_DIR_SLOTS、PAGE_HEAP_TOP、PAGE_N_HEAP等等的值也就都被恢复到系统奔溃前的样子了。这就是所谓的逻辑日志的意思。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">1-3 redo日志格式小结</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">虽然上边说了一大堆关于redo日志格式的内容，但是如果你不是为了写一个解析redo日志的工具或者自己开发一套redo日志系统的话，那就没必要把InnoDB中的各种类型的redo日志格式都研究的透透的，没那个必要。上边我只是象征性的介绍了几种类型的redo日志格式，目的还是想让大家明白：<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志会把事务在执行过程中对数据库所做的所有修改都记录下来，在之后系统奔溃重启后可以把事务所做的任何修改都恢复出来</strong>。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">为了节省redo日志占用的存储空间大小，InnoDB对redo日志中的某些数据还可能进行压缩处理，比方说spacd ID和page number一般占用4个字节来存储，但是经过压缩后，可能使用更小的空间来存储。</p>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">2 Mini-Transaction</h2>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">2-1 以组的形式写入redo日志</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">语句在执行过程中可能修改若干个页面，由于对这些页面的更改都发生在Buffer Pool中，所以在修改完页面后，需要记录一下相应的redo日志。在执行语句的过程中产生的redo日志被InnoDB划分成了若干个不可分割的组，比如：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">更新<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Max Row ID</strong>属性时产生的redo日志是不可分割的；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">向聚簇索引对应的B+树页面中插入一条记录时产生的redo日志是不可分割的；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">向某个二级索引对于的B+树页面中插入一条记录时产生的redo日志是不可分割的；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">还有其他的一些对页面的访问操作时产生的redo日志是不可分割的。</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">怎么理解这个<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">不可分割</strong>呢？以向某个索引对应的B+树插入一条记录为例，在向B+树中插入这条记录之前，需要先定位到这条记录应该被插入到哪个叶子节点代表的数据页中，定位到具体的数据页之后，有两种可能的情况：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">情况一：该数据页的剩余的空闲空间充足，足够容纳这一条待插入记录，那么事情很简单，直接把记录插入到这个数据页中，记录一条类型为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_COMP_REC_INSERT的redo日志</strong>就好了，我们把这种情况称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">乐观插入</strong>。假如某个索引对应的B+树长这样：<img src="19-redo日志_files/1 [4].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
现在我们要插入一条键值为10的记录，很显然需要被插入到页b中，由于页b现在有足够的空间容纳一条记录，所以直接将该记录插入到页b中就好了，就像这样：<img src="19-redo日志_files/1 [5].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">情况二：该数据页剩余的空闲空间不足，遇到这种情况要进行<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">页分裂</strong>操作，也就是新建一个叶子节点，然后把原先数据页中的一部分记录复制到这个新的数据页中，然后再把记录插入进去，把这个叶子节点插入到叶子节点链表中，最后还要在内节点中添加一条<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">目录项记录</strong>指向这个新创建的页面，很显然，这个过程要对多个页面进行修改，意味着会产生多条<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志</strong>，把这种情况称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">悲观插入</strong>。加入某个索引对应的B+树为：<br/>
<img src="19-redo日志_files/1 [6].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
现在我们要插入一条键值为10的记录，很显然需要被插入到页b中，但是从图中也可以看出来，此时页b已经塞满了记录，没有更多的空闲空间来容纳这条新记录了，所以我们需要进行页面的分裂操作，就像这样：<img src="19-redo日志_files/1 [7].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
如果作为内节点的页a的剩余空闲空间也不足以容纳增加一条目录项记录，那需要继续做内节点页a的分裂操作，也就意味着会修改更多的页面，从而产生更多的redo日志。另外，对于悲观插入来说，由于需要新申请数据页，还需要改动一些系统页面，比方说要修改各种段、区的统计信息信息，各种链表的统计信息（比如什么FREE链表、FSP_FREE_FRAG链表吧啦吧啦我们在唠叨表空间那一章中介绍过的各种东东）等等等等，反正总共需要记录的redo日志有二、三十条。</p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB认为向某个索引对应的B+树中插入一条记录的这个过程必须是原子的，不能说插了一半之后就停止了。比方说在悲观插入过程中，新的页面已经分配好了，数据也复制过去了，新的记录也插入到页面中了，可是没有向内节点中插入一条目录项记录，这个插入过程就是不完整的，这样会形成一棵不正确的B+树。redo日志是为了在系统奔溃重启时恢复崩溃前的状态，如果在悲观插入的过程中只记录了一部分redo日志，那么在系统奔溃重启时会将索引对应的B+树恢复成一种不正确的状态，这是InnoDB所不能忍受的。所以规定在执行这些需要保证<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">原子性的操作</strong>时必须以<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">组</strong>的形式来记录的<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志</strong>，在进行系统奔溃重启恢复时，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">针对某个组中的redo日志</strong>，要么把全部的日志都恢复掉，要么一条也不恢复。怎么做到的呢？这得分情况讨论：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">有的需要保证原子性的操作会生成多条redo日志，比如向某个索引对应的B+树中进行一次悲观插入就需要生成许多条redo日志。<br/>
如何把这些redo日志划分到一个组里边儿呢？<br/>
就是在该组中的最后一条redo日志后边加上一条特殊类型的redo日志，该类型名称为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">MLOG_MULTI_REC_END</strong>，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type</strong>字段对应的十进制数字为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">31</strong>，该类型的redo日志结构很简单，只有一个type字段：<img src="19-redo日志_files/1 [8].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
所以某个需要保证原子性的操作产生的一系列redo日志必须要以一个类型为MLOG_MULTI_REC_END结尾，就像这样：<img src="19-redo日志_files/1 [9].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
这样在系统奔溃重启进行恢复时，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">只有当解析到类型为MLOG_MULTI_REC_END的redo日志</strong>，才认为解析到了<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">一组完整的redo日志</strong>，才会进行恢复。否则的话直接放弃前边解析到的redo日志。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">有的需要保证原子性的操作只生成一条redo日志，比如更新Max Row ID属性的操作就只会生成一条redo日志。<br/>
其实在一条日志后边跟一个类型为MLOG_MULTI_REC_END的redo日志也是可以的，不过设计InnoDB的大叔比较勤俭节约，他们不想浪费一个比特位。别忘了虽然redo日志的类型比较多，但撑死了也就是几十种，是小于127这个数字的，也就是说我们用7个比特位就足以包括所有的redo日志类型，而type字段其实是占用1个字节的，也就是说我们可以省出来一个比特位用来表示该需要保证原子性的操作只产生单一的一条redo日志，示意图如下：<img src="19-redo日志_files/1 [10].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
如果<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">type字段的第一个比特位为1</strong>，代表该需要保证原子性的操作只产生了单一的一条redo日志，否则表示该需要保证原子性的操作产生了一系列的redo日志。</p>
</li>
</ul>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">2-2 Mini-Transaction的概念</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">MySQL把对底层页面中的一次原子访问的过程称之为一个<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Mini-Transaction</strong>，简称<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">mtr</strong>。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">比如上边所说的修改一次Max Row ID的值算是一个Mini-Transaction，向某个索引对应的B+树中插入一条记录的过程也算是一个Mini-Transaction。通过上边的叙述我们也知道，一个所谓的mtr可以包含一组redo日志，在进行奔溃恢复时这一组redo日志作为一个不可分割的整体。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">一个事务可以包含若干条语句，每一条语句其实是由若干个mtr组成，每一个mtr又可以包含若干条redo日志，画个图表示它们的关系就是这样</strong>：<img src="19-redo日志_files/1 [11].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">3 redo日志的写入过程</h2>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">3-1 redo log block</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB为了更好的进行系统崩溃恢复，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">把通过mtr生成的redo日志都放在大小为512字节的页中</strong>，为了和我们前边提到的表空间中的页做区别，我们这里把用来存储redo日志的页称为block（你心里清楚页和block的意思其实差不多就行了）。一个redo log block的示意图如下：<img src="19-redo日志_files/1 [12].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
真正的redo日志都是存储到占用496字节大小的log block body中，图中的log block header和log block trailer存储的是一些管理信息。我们来看看这些所谓的管理信息都是啥：<br/>
<img src="19-redo日志_files/1 [13].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">log block header中属性的意思如下：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">LOG_BLOCK_HDR_NO</strong>：每个block都有一个大于0的唯一标号，本属性就表示该标号值；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">LOG_BLOCK_HDR_DATA_LEN</strong>：表示block中已经使用了多少字节，初始值为12（因为log block body从第12个字节处开始）。随着往block中写入的redo日志越来也多，本属性值也跟着增长。如果log block body已经被全部写满，那么本属性的值被设置为512；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">LOG_BLOCK_FIRST_REC_GROUP</strong>：一条redo日志也可以称之为一条redo日志记录（redo log record），一个mtr会生产多条redo日志记录，这些redo日志记录被称之为一个redo日志记录组（redo log record group）。LOG_BLOCK_FIRST_REC_GROUP就代表该block中第一个mtr生成的redo日志记录组的偏移量（其实也就是这个block里第一个mtr生成的第一条redo日志的偏移量）；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">LOG_BLOCK_CHECKPOINT_NO</strong>：表示所谓的checkpoint的序号，checkpoint是我们后续内容的重点，现在先不用清楚它的意思，稍安勿躁；</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">log block trailer中属性的意思如下：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">LOG_BLOCK_CHECKSUM</strong>：表示block的校验值，用于正确性校验，我们暂时不关心它。</li>
</ul>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">3-2 redo日志缓冲区</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">InnoDB为了解决磁盘速度过慢的问题而引入了Buffer Pool。同理，写入<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志</strong>时也不能直接直接写到磁盘上，实际上在<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">服务器启动时</strong>就向操作系统申请了一大片称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo log buffer的连续内存空间</strong>，翻译成中文就是<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志缓冲区</strong>，我们也可以简称为log buffer。这片内存空间被划分成若干个连续的redo log block，就像这样：<img src="19-redo日志_files/1 [14].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
可以通过启动参数<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_log_buffer_size</strong>来指定log buffer的大小，在MySQL 5.7.21这个版本中，该启动参数的默认值为16MB。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">3-3 redo日志写入redo log buffer</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">向redo log buffer中写入redo日志的过程是<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">顺序</strong>的，也就是先往前边的block中写，当该block的空闲空间用完之后再往下一个block中写。当我们想往log buffer中写入redo日志时，第一个遇到的问题就是应该写在哪个block的哪个偏移量处，InnoDB特意提供了一个称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">buf_free的全局变量</strong>，该变量指明后续写入的redo日志应该写入到log buffer中的哪个位置，如图所示：<img src="19-redo日志_files/1 [15].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">前边说过一个mtr执行过程中可能产生若干条redo日志，这些redo日志是一个不可分割的组，所以其实并不是每生成一条redo日志，就将其插入到log buffer中，而是每个mtr运行过程中产生的日志先暂时存到一个地方，当该mtr结束的时候，将过程中产生的一组redo日志再全部复制到log buffer中。我们现在假设有两个名为T1、T2的事务，每个事务都包含2个mtr，我们给这几个mtr命名一下：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">事务T1的两个mtr分别称为mtr_T1_1和mtr_T1_2</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">事务T2的两个mtr分别称为mtr_T2_1和mtr_T2_2</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">每个mtr都会产生一组redo日志，用示意图来描述一下这些mtr产生的日志情况：<img src="19-redo日志_files/1 [16].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">不同的事务可能是并发执行的，所以T1、T2之间的mtr可能是交替执行的。每当一个mtr执行完成时，伴随该mtr生成的一组redo日志就需要被复制到log buffer中，也就是说不同事务的mtr可能是交替写入log buffer的，我们画个示意图（为了美观，我们把一个mtr中产生的所有的redo日志当作一个整体来画）：<img src="19-redo日志_files/1 [17].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">从示意图中我们可以看出来，不同的mtr产生的一组redo日志占用的存储空间可能不一样，有的mtr产生的redo日志量很少，比如mtr_t1_1、mtr_t2_1就被放到同一个block中存储，有的mtr产生的redo日志量非常大，比如mtr_t1_2产生的redo日志甚至占用了3个block来存储。</p>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">4 redo日志文件</h2>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">4-1 redo日志刷盘时机</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">mtr</strong>运行过程中产生的一组<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo</strong>日志在mtr结束时会被复制到<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo log buffer</strong>中，在一些情况下它们会被刷新到磁盘里：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo log buffer空间不足</strong>：log buffer的大小是有限的（通过系统变量innodb_log_buffer_size指定），如果当前写入log buffer的redo日志量已经占满log buffer总容量的大约一半左右，就需要把这些日志刷新到磁盘上；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">事务提交</strong>：在事务提交时，可以不把修改过的buffer pool页面刷新到磁盘，但是为了保证持久性，必须把修改这些页面对应的redo日志刷新到磁盘上；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">后台线程定时刷新</strong>：后台线程每秒刷新一次log buffer中的redo日志到磁盘上；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">正常关闭服务器</strong></li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">checkpoint</strong></li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">其他的一些情况</strong></li>
</ul>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">4-2 redo日志文件组</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">MySQL的数据目录（使用SHOW VARIABLES LIKE 'datadir'查看）下默认有两个名为ib_logfile0和ib_logfile1的文件，log buffer中的日志默认情况下就是刷新到这两个磁盘文件中，可以通过以下启动参数来调节日志文件组：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_log_group_home_dir</strong><br/>
该参数指定了redo日志文件所在的目录，默认值就是当前的数据目录；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_log_file_size</strong><br/>
该参数指定了每个redo日志文件的大小，在MySQL 5.7.21这个版本中的默认值为48MB；</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">innodb_log_files_in_group</strong><br/>
该参数指定redo日志文件的个数，默认值为2，最大值为10；</p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">从上边的描述中可以看到，磁盘上的redo日志文件不只一个，而是以一个日志文件组的形式出现的。这些文件以<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">ib_logfile[数字]</strong>（数字可以是0、1、2...）的形式进行命名。在将redo日志写入日志文件组时，是从ib_logfile0开始写，如果ib_logfile0写满了，就接着ib_logfile1写，同理，ib_logfile1写满了就去写ib_logfile2，依此类推。如果写到最后一个文件该咋办？那就重新转到ib_logfile0继续写，所以整个过程如下图所示：<img src="19-redo日志_files/1 [18].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">总共的redo日志文件大小其实就是：innodb_log_file_size × innodb_log_files_in_group。</strong></p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">4-3 redo日志文件格式</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">log buffer本质上是一片连续的内存空间，被划分成若干个512字节大小的block。<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">将log buffer中的redo日志刷新到磁盘的本质就是把block的镜像写入日志文件中</strong>，所以redo日志文件其实也是由若干个512字节大小的block组成。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">redo日志文件组中的每个文件大小都一样，格式也一样，都是由两部分组成：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">前2048个字节，也就是前4个block是用来存储一些管理信息的；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">从第2048字节往后是用来存储log buffer中的block镜像的；</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">所以我们前边所说的循环使用redo日志文件，其实是从每个日志文件的第2048个字节开始算，画个示意图就是这样：<img src="19-redo日志_files/1 [19].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">普通block的格式我们在唠叨log buffer的时候都说过了，就是log block header、log block body、log block trialer这三个部分，就不重复介绍了。这里需要介绍一下每个redo日志文件前2048个字节，也就是前4个特殊block的格式都是干嘛的，废话少说，先看图：<img src="19-redo日志_files/1 [20].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">从图中可以看出来，这4个block分别是：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">log file header</strong>：描述该redo日志文件的一些整体属性，结构如下：<img src="19-redo日志_files/1 [21].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
各个属性的释义如下：<img src="19-redo日志_files/Image [1].png" type="image/png" data-filename="Image.png"/></p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">checkpoint1和checkpoint2</strong>：记录关于checkpoint的一些属性，结构如下：<img src="19-redo日志_files/1 [22].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
<img src="19-redo日志_files/Image [2].png" type="image/png" data-filename="Image.png"/></p>
</li>
</ul>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">5 Log Sequence Number</h2>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">5-1 lsn</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">自系统开始运行，就不断的在修改页面，也就意味着会不断的生成redo日志。redo日志的量在不断的递增，就像人的年龄一样，自打出生起就不断递增，永远不可能缩减了。设计InnoDB的大叔为记录已经写入的redo日志量，设计了一个称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Log Sequence Number的全局变量</strong>，翻译过来就是：<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">日志序列号，简称lsn</strong>。不过不像人一出生的年龄是0岁，InnoDB规定初始的<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">lsn值为8704</strong>（也就是一条redo日志也没写入时，lsn的值为8704）。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">向log buffer中写入redo日志时是以一个mtr生成的一组redo日志为单位写入的。而且实际上是把日志内容写在了log block body中，但是在统计<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">lsn</strong>的增长量时，是按照实际写入的日志量加上占用的log block header和log block trailer来计算的。下面看一个例子：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">系统第一次启动后初始化log buffer时，buf_free（就是标记下一条redo日志应该写入到log buffer的位置的变量）就会指向第一个block的偏移量为12字节（log block header的大小）的地方，那么lsn值也会跟着增加12：<img src="19-redo日志_files/1 [23].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">如果某个mtr产生的一组redo日志占用的存储空间比较小，也就是待插入的block剩余空闲空间能容纳这个mtr提交的日志时，lsn增长的量就是该mtr生成的redo日志占用的字节数，就像这样：<br/>
<img src="19-redo日志_files/1 [24].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
假设上图中mtr_1产生的redo日志量为200字节，那么lsn就要在8716的基础上增加200，变为8916。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">如果某个mtr产生的一组redo日志占用的存储空间比较大，也就是待插入的block剩余空闲空间不足以容纳这个mtr提交的日志时，lsn增长的量就是该mtr生成的redo日志占用的字节数加上额外占用的log block header和log block trailer的字节数，就像这样：<img src="19-redo日志_files/1 [25].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
假设上图中mtr_2产生的redo日志量为1000字节，为了将mtr_2产生的redo日志写入log buffer，我们不得不额外多分配两个block，所以lsn的值需要在8916的基础上增加1000 + 12×2 + 4 × 2 = 1032。</p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">从上边的描述中可以看出来，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">每一组由mtr生成的redo日志都有一个唯一的LSN值与其对应，LSN值越小，说明redo日志产生的越早。</strong></p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">5-2 flushed_to_disk_lsn</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">redo日志是首先写到log buffer中，之后才会被刷新到磁盘上的redo日志文件。所以InnoD提出了一个称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">buf_next_to_write</strong>的全局变量，标记当前log buffer中已经有哪些日志被刷新到磁盘中了。画个图表示就是这样：<img src="19-redo日志_files/1 [26].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">lsn</strong>表示当前系统中写入的redo日志量，InnoDB提出了一个表示刷新到磁盘中的redo日志量的全局变量，称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">flushed_to_disk_lsn</strong>。<br/>
系统第一次启动时，该变量的值和初始的lsn值是相同的，都是8704。随着系统的运行，redo日志被不断写入log buffer，但是并不会立即刷新到磁盘，lsn的值就和flushed_to_disk_lsn的值拉开了差距：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">系统第一次启动后，向log buffer中写入了mtr_1、mtr_2、mtr_3这三个mtr产生的redo日志，假设这三个mtr开始和结束时对应的lsn值分别是：<br/>
a. mtr_1：8716 ～ 8916<br/>
b. mtr_2：8916 ～ 9948<br/>
c. mtr_3：9948 ～ 10000<br/>
此时的lsn已经增长到了10000，但是由于没有刷新操作，所以此时flushed_to_disk_lsn的值仍为8704，如图：<img src="19-redo日志_files/1 [27].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">随后进行将log buffer中的block刷新到redo日志文件的操作，假设将mtr_1和mtr_2的日志刷新到磁盘，那么flushed_to_disk_lsn就应该增长mtr_1和mtr_2写入的日志量，所以flushed_to_disk_lsn的值增长到了9948，如图：<img src="19-redo日志_files/1 [28].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">综上所述，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">当有新的redo日志写入到log buffer时，首先lsn的值会增长，但flushed_to_disk_lsn不变，随后随着不断有log buffer中的日志被刷新到磁盘上，flushed_to_disk_lsn的值也跟着增长。如果两者的值相同时，说明log buffer中的所有redo日志都已经刷新到磁盘中了。</strong></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">注意：<br/>
应用程序向磁盘写入文件时其实是先写到操作系统的缓冲区中去，如果某个写入操作要等到操作系统确认已经写到磁盘时才返回，那需要调用一下操作系统提供的fsync函数。其实只有当系统执行了fsync函数后，flushed_to_disk_lsn的值才会跟着增长，当仅仅把log buffer中的日志写入到操作系统缓冲区却没有显式的刷新到磁盘时，另外的一个称之为write_lsn的值跟着增长。不过为了大家理解上的方便，我们在讲述时把flushed_to_disk_lsn和write_lsn的概念混淆了起来。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">5-3 lsn值和redo日志文件偏移量的对应关系</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">因为lsn的值是代表系统写入的redo日志量的一个总和，一个mtr中产生多少日志，lsn的值就增加多少（当然有时候要加上log block header和log block trailer的大小），这样mtr产生的日志写到磁盘中时，很容易计算某一个lsn值在redo日志文件组中的偏移量，如图：<img src="19-redo日志_files/1 [29].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">初始时的LSN值是8704，对应文件偏移量2048，之后每个mtr向磁盘中写入多少字节日志，lsn的值就增长多少。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">5-4 flush链表中的LSN</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">一个mtr代表一次对底层页面的原子访问，在访问过程中可能会产生一组不可分割的redo日志，在mtr结束时，会把这一组redo日志写入到log buffer中。除此之外，在mtr结束时还有一件非常重要的事情要做，就是把在mtr执行过程中可能修改过的页面加入到Buffer Pool的flush链表。为了防止大家早已忘记flush链表是个啥，我们再看一下图：<img src="19-redo日志_files/1 [30].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
当第一次修改某个缓存在Buffer Pool中的页面时，就会把这个页面对应的控制块插入到flush链表的头部，之后再修改该页面时由于它已经在flush链表中了，就不再次插入了。也就是说<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">flush链表中的脏页是按照页面的第一次修改时间从大到小进行排序的</strong>。在这个过程中会在缓存页对应的控制块中记录两个关于页面何时修改的属性：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">oldest_modification</strong>：如果某个页面被加载到Buffer Pool后进行第一次修改，那么就将修改该页面的mtr开始时对应的lsn值写入这个属性；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">newest_modification</strong>：每修改一次页面，都会将修改该页面的mtr结束时对应的lsn值写入这个属性。也就是说该属性表示页面最近一次修改后对应的系统lsn值。</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">接着上边的flushed_to_disk_lsn的例子看下：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">假设mtr_1执行过程中修改了页a，那么在mtr_1执行结束时，就会将页a对应的控制块加入到flush链表的头部。并且将mtr_1开始时对应的lsn，也就是8716写入页a对应的控制块的oldest_modification属性中，把mtr_1结束时对应的lsn，也就是8916写入页a对应的控制块的newest_modification属性中。画个图表示一下（为了让图片美观一些，我们把oldest_modification缩写成了o_m，把newest_modification缩写成了n_m）：<img src="19-redo日志_files/1 [31].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">接着假设mtr_2执行过程中又修改了页b和页c两个页面，那么在mtr_2执行结束时，就会将页b和页c对应的控制块都加入到flush链表的头部。并且将mtr_2开始时对应的lsn，也就是8916写入页b和页c对应的控制块的oldest_modification属性中，把mtr_2结束时对应的lsn，也就是9948写入页b和页c对应的控制块的newest_modification属性中。画个图表示一下：<img src="19-redo日志_files/1 [32].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">从图中可以看出来，每次新插入到flush链表中的节点都是被放在了头部，也就是说flush链表中前边的脏页修改的时间比较晚，后边的脏页修改时间比较早。</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">接着假设mtr_3执行过程中修改了页b和页d，不过页b之前已经被修改过了，所以它对应的控制块已经被插入到了flush链表，所以在mtr_3执行结束时，只需要将页d对应的控制块都加入到flush链表的头部即可。所以需要将mtr_3开始时对应的lsn，也就是9948写入页d对应的控制块的oldest_modification属性中，把mtr_3结束时对应的lsn，也就是10000写入页d对应的控制块的newest_modification属性中。另外，由于页b在mtr_3执行过程中又发生了一次修改，所以需要更新页b对应的控制块中newest_modification的值为10000。画个图表示一下：<img src="19-redo日志_files/1 [33].jpg" type="image/jpeg" data-filename="1.jpg"/></li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">总结一下上边说的，就是：<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">flush链表中的脏页按照修改发生的时间顺序进行排序，也就是按照oldest_modification代表的LSN值进行排序，被多次更新的页面不会重复插入到flush链表中，但是会更新newest_modification属性的值</strong>。</p>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">6 checkpoint</h2>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">redo日志文件组容量是有限的，不得不选择循环使用redo日志文件组中的文件，但是这会造成最后写的redo日志与最开始写的redo日志追尾，这时应该想到：<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">redo日志只是为了系统奔溃后恢复脏页用的，如果对应的脏页已经刷新到了磁盘，也就是说即使现在系统奔溃，那么在重启后也用不着使用redo日志恢复该页面了，所以该redo日志也就没有存在的必要了，那么它占用的磁盘空间就可以被后续的redo日志所重用。也就是说：判断某些redo日志占用的磁盘空间是否可以覆盖的依据就是它对应的脏页是否已经刷新到磁盘里</strong>。我们看一下前边一直唠叨的那个例子：<img src="19-redo日志_files/1 [34].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">如图，虽然mtr_1和mtr_2生成的redo日志都已经被写到了磁盘上，但是它们修改的脏页仍然留在Buffer Pool中，所以它们生成的redo日志在磁盘上的空间是不可以被覆盖的。之后随着系统的运行，如果页a被刷新到了磁盘，那么它对应的控制块就会从flush链表中移除，就像这样子：<img src="19-redo日志_files/1 [35].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这样mtr_1生成的redo日志就没有用了，它们占用的磁盘空间就可以被覆盖掉了。InnoDB提出了一个<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">全局变量checkpoint_lsn</strong>来代表当前系统中可以被覆盖的redo日志总量是多少，这个变量初始值也是8704。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">比方说现在页a被刷新到了磁盘，mtr_1生成的redo日志就可以被覆盖了，所以可以进行一个增加checkpoint_lsn的操作，我们把这个过程称之为做一次<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">checkpoint</strong>。做一次checkpoint其实可以分为两个步骤：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">步骤一：计算一下当前系统中可以被覆盖的redo日志对应的lsn值最大是多少。<br/>
redo日志可以被覆盖，意味着它对应的脏页被刷到了磁盘，只要我们计算出当前系统中<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">被最早修改的脏页对应的oldest_modification值</strong>，那<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">凡是在系统lsn值小于该节点的oldest_modification值时产生的redo日志都是可以被覆盖掉的</strong>，我们就<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">把该脏页的oldest_modification赋值给checkpoint_lsn</strong>。<br/>
比方说当前系统中页a已经被刷新到磁盘，那么flush链表的尾节点就是页c，该节点就是当前系统中最早修改的脏页了，它的oldest_modification值为8916，我们就把8916赋值给checkpoint_lsn（也就是说在redo日志对应的lsn值小于8916时就可以被覆盖掉）。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">步骤二：将<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">checkpoint_lsn</strong>和<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">对应的redo日志文件组偏移量</strong>以及<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">此次checkpint的编号</strong>写到日志文件的管理信息（就是<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">checkpoint1</strong>或者<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">checkpoint2</strong>）中。<br/>
InnoDB维护了一个目前系统做了多少次checkpoint的变量checkpoint_no，每做一次checkpoint，该变量的值就加1。我们前边说过计算一个lsn值对应的redo日志文件组偏移量是很容易的，所以可以计算得到该checkpoint_lsn在redo日志文件组中对应的偏移量checkpoint_offset，然后把这三个值都写到redo日志文件组的管理信息中。<br/>
每一个redo日志文件都有2048个字节的管理信息，但是上述关于checkpoint的信息只会被写到日志文件组的第一个日志文件的管理信息中。不过我们是存储到checkpoint1中还是checkpoint2中呢？InnoDB规定，<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">当checkpoint_no的值是偶数时，就写到checkpoint1中，是奇数时，就写到checkpoint2中</strong>。</p>
</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">记录完checkpoint的信息之后，redo日志文件组中各个lsn值的关系就像这样：<img src="19-redo日志_files/1 [36].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">6-1 批量从flush链表中刷出脏页</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">在介绍Buffer Pool的时候说过，一般情况下都是后台的线程在对LRU链表和flush链表进行刷脏操作，这主要因为刷脏操作比较慢，不想影响用户线程处理请求。但是如果当前系统修改页面的操作十分频繁，这样就导致写日志操作十分频繁，系统lsn值增长过快。如果后台的刷脏操作不能将脏页刷出，那么系统无法及时做checkpoint，可能就需要用户线程同步的从flush链表中把那些最早修改的脏页（oldest_modification最小的脏页）刷新到磁盘，这样这些脏页对应的redo日志就没用了，然后就可以去做checkpoint了。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">6-2 查看系统中的各种LSN值</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">可以使用<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">show engine innodb status</strong>命令查看当前InnoDB存储引擎中的各种LSN值的情况，比如：<br/>
<img src="19-redo日志_files/Image [3].png" type="image/png" data-filename="Image.png"/></p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Log sequence number</strong>：代表系统中的lsn值，也就是当前系统已经写入的redo日志量，包括写入log buffer中的日志；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Log flushed up to</strong>：代表flushed_to_disk_lsn的值，也就是当前系统已经写入磁盘的redo日志量；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Pages flushed up to</strong>：代表flush链表中被最早修改的那个页面对应的oldest_modification属性值；</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">Last checkpoint at</strong>：当前系统的checkpoint_lsn值；</li>
</ul>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">6-3 innodb_flush_log_at_trx_commit的用法</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">上述的情况都是基于为了保证事务的持久性，用户线程在事务提交时需要将该事务执行过程中产生的所有redo日志都刷新到磁盘上。但是这样会明显的降低数据库性能。如果对持久性不是那么强烈的话，可以选择修改一个称为innodb_flush_log_at_trx_commit的系统变量的值，该变量有3个可选的值：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">0</strong>：当该系统变量值为0时，表示在事务提交时不立即向磁盘中同步redo日志，这个任务是交给后台线程做的。<br/>
这样很明显会加快请求处理速度，但是如果事务提交后服务器挂了，后台线程没有及时将redo日志刷新到磁盘，那么该事务对页面的修改会丢失。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">1</strong>：当该系统变量值为1时，表示在事务提交时需要将redo日志同步到磁盘，可以保证事务的持久性。1也是innodb_flush_log_ta_trx_commit的默认值。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">2</strong>：当该系统变量值为2时，表示在事务提交时需要将redo日志写到操作系统的缓冲区中，但并不需要保证将日志真正的刷新到磁盘。<br/>
这种情况下如果数据库挂了，操作系统没挂的话，事务的持久性还是可以保证的，但是如果操作系统也挂了的话，那就不能保证持久性了</p>
</li>
</ul>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">7 崩溃恢复</h2>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">在服务器不挂的情况下，redo日志简直就是个大累赘，不仅没用，反而让性能变得更差。但是万一数据库挂了，那redo日志可是个宝了，我们就可以在重启时根据redo日志中的记录就可以将页面恢复到系统奔溃前的状态。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">7-1 确定恢复的起点</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">checkpoint_lsn之前的redo日志都可以被覆盖，也就是说这些redo日志对应的脏页都已经被刷新到磁盘中了，既然它们已经被刷盘，就没必要恢复它们了。对于checkpoint_lsn之后的redo日志，它们对应的脏页可能没被刷盘，也可能被刷盘了，我们不能确定，所以需要从checkpoint_lsn开始读取redo日志来恢复页面。<br/>
当然，redo日志文件组的第一个文件的管理信息中有两个block都存储了checkpoint_lsn的信息，我们当然是要选取最近发生的那次checkpoint的信息。衡量checkpoint发生时间早晚的信息就是所谓的checkpoint_no，我们只要把checkpoint1和checkpoint2这两个block中的checkpoint_no值读出来比一下大小，哪个的checkpoint_no值更大，说明哪个block存储的就是最近的一次checkpoint信息。这样我们就能拿到最近发生的checkpoint对应的checkpoint_lsn值以及它在redo日志文件组中的偏移量checkpoint_offset。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">7-2 确定恢复的终点</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">redo日志恢复的起点确定了，那终点是哪个呢？这个还得从block的结构说起。我们说在写redo日志的时候都是顺序写的，写满了一个block之后会再往下一个block中写：<br/>
<img src="19-redo日志_files/1 [37].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
普通block的log block header部分有一个称之为LOG_BLOCK_HDR_DATA_LEN的属性，该属性值记录了当前block里使用了多少字节的空间。对于被填满的block来说，该值永远为512。如果该属性的值不为512，那么就是它了，它就是此次奔溃恢复中需要扫描的最后一个block。</p>
<h3 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 27px; color: #333;">7-3 怎么恢复</h3>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">确定了需要扫描哪些redo日志进行奔溃恢复之后，接下来就是怎么进行恢复了。假设现在的redo日志文件中有5条redo日志，如图：<img src="19-redo日志_files/1 [38].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">由于redo 0在checkpoint_lsn后边，恢复时可以不管它。我们现在可以按照redo日志的顺序依次扫描checkpoint_lsn之后的各条redo日志，按照日志中记载的内容将对应的页面恢复出来。这样没什么问题，不过InnoDB还是想了一些办法加快这个恢复的过程：</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">使用哈希表</strong><br/>
根据redo日志的space ID和page number属性计算出散列值，把<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">space ID和page number相同的redo日志放到哈希表的同一个槽里</strong>，如果有多个space ID和page number都相同的redo日志，那么它们之间使用链表连接起来，按照生成的先后顺序链接起来的，如图所示：<img src="19-redo日志_files/1 [39].jpg" type="image/jpeg" data-filename="1.jpg"/><br/>
之后就可以遍历哈希表，因为对同一个页面进行修改的redo日志都放在了一个槽里，所以可以一次性将一个页面修复好（避免了很多读取页面的随机IO），这样可以加快恢复速度。另外需要注意一点的是，同一个页面的redo日志是按照生成时间顺序进行排序的，所以恢复的时候也是按照这个顺序进行恢复，如果不按照生成时间顺序进行排序的话，那么可能出现错误。比如原先的修改操作是先插入一条记录，再删除该条记录，如果恢复时不按照这个顺序来，就可能变成先删除一条记录，再插入一条记录，这显然是错误的。</p>
</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">跳过已经刷新到磁盘的页面</strong><br/>
checkpoint_lsn之前的redo日志对应的脏页确定都已经刷到磁盘了，但是checkpoint_lsn之后的redo日志我们不能确定是否已经刷到磁盘，主要是因为在最近做的一次checkpoint后，可能后台线程又不断的从LRU链表和flush链表中将一些脏页刷出Buffer Pool。这些在checkpoint_lsn之后的redo日志，如果它们对应的脏页在奔溃发生时已经刷新到磁盘，那在恢复时也就没有必要根据redo日志的内容修改该页面了。<br/>
那在恢复时怎么知道某个redo日志对应的脏页是否在奔溃发生时已经刷新到磁盘了呢？这还得从页面的结构说起，我们前边说过每个页面都有一个称之为File Header的部分，在File Header里有一个称之为FIL_PAGE_LSN的属性，该属性记载了最近一次修改页面时对应的lsn值（其实就是页面控制块中的newest_modification值）。如果在做了某次checkpoint之后有脏页被刷新到磁盘中，那么该页对应的FIL_PAGE_LSN代表的lsn值肯定大于checkpoint_lsn的值，凡是符合这种情况的页面就不需要重复执行lsn值小于FIL_PAGE_LSN的redo日志了，所以更进一步提升了奔溃恢复的速度。</p>
</li>
</ul>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">8 遗漏的问题：LOG_BLOCK_HDR_NO是如何计算的</h2>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">前边说过，对于实际存储redo日志的普通的log block来说，在log block header处有一个称之为LOG_BLOCK_HDR_NO的属性（忘记了的话回头再看看哈），我们说这个属性代表一个唯一的标号。这个属性是初次使用该block时分配的，跟当时的系统lsn值有关。使用下边的公式计算该block的LOG_BLOCK_HDR_NO值：</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">((lsn / 512) &amp; 0x3FFFFFFFUL) + 1</strong></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这个公式里的0x3FFFFFFFUL可能让大家有点困惑，其实它的二进制表示可能更亲切一点：<br/>
<img src="19-redo日志_files/1 [40].jpg" type="image/jpeg" data-filename="1.jpg"/></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">从图中可以看出，0x3FFFFFFFUL对应的二进制数的前2位为0，后30位的值都为1。我们刚开始学计算机的时候就学过，一个二进制位与0做与运算（&amp;）的结果肯定是0，一个二进制位与1做与运算（&amp;）的结果就是原值。让一个数和0x3FFFFFFFUL做与运算的意思就是要将该值的前2个比特位的值置为0，这样该值就肯定小于或等于0x3FFFFFFFUL了。这也就说明了，不论lsn多大，((lsn / 512) &amp; 0x3FFFFFFFUL)的值肯定在0~0x3FFFFFFFUL之间，再加1的话肯定在1~0x40000000UL之间。而0x40000000UL这个值大家应该很熟悉，这个值就代表着1GB。也就是说系统最多能产生不重复的LOG_BLOCK_HDR_NO值只有1GB个。<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">设计InnoDB的大叔规定redo日志文件组中包含的所有文件大小总和不得超过512GB，一个block大小是512字节，也就是说redo日志文件组中包含的block块最多为1GB个，所以有1GB个不重复的编号值也就够用了</strong>。</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">另外，LOG_BLOCK_HDR_NO值的第一个比特位比较特殊，称之为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">flush bit</strong>，如果该值为<strong style="line-height: 160%; box-sizing: content-box; font-weight: 700;">1</strong>，代表着本block是在某次将log buffer中的block刷新到磁盘的操作中的第一个被刷入的block。</p>
</div><center style="display:none !important;visibility:collapse !important;height:0 !important;white-space:nowrap;width:100%;overflow:hidden">%0AInnoDB%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E6%98%AF%E4%BB%A5%E9%A1%B5%E4%B8%BA%E5%8D%95%E4%BD%8D%E6%9D%A5%E7%AE%A1%E7%90%86%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E7%9A%84%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%9B%E8%A1%8C%E7%9A%84%E5%A2%9E%E5%88%A0%E6%94%B9%E6%9F%A5%E6%93%8D%E4%BD%9C%E5%85%B6%E5%AE%9E%E6%9C%AC%E8%B4%A8%E4%B8%8A%E9%83%BD%E6%98%AF%E5%9C%A8%E8%AE%BF%E9%97%AE%E9%A1%B5%E9%9D%A2%EF%BC%88%E5%8C%85%E6%8B%AC%E8%AF%BB%E9%A1%B5%E9%9D%A2%E3%80%81%E5%86%99%E9%A1%B5%E9%9D%A2%E3%80%81%E5%88%9B%E5%BB%BA%E6%96%B0%E9%A1%B5%E9%9D%A2%E7%AD%89%E6%93%8D%E4%BD%9C%EF%BC%89%E3%80%82%E5%9C%A8%E7%9C%9F%E6%AD%A3%E8%AE%BF%E9%97%AE%E9%A1%B5%E9%9D%A2%E4%B9%8B%E5%89%8D%EF%BC%8C%E9%9C%80%E8%A6%81%E6%8A%8A%E5%9C%A8%E7%A3%81%E7%9B%98%E4%B8%8A%E7%9A%84%E9%A1%B5%E7%BC%93%E5%AD%98%E5%88%B0%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84Buffer%20Pool%E4%B9%8B%E5%90%8E%E6%89%8D%E5%8F%AF%E4%BB%A5%E8%AE%BF%E9%97%AE%E3%80%82%E4%BD%86%E6%98%AF%E5%9C%A8%E8%AE%B2%E4%BA%8B%E5%8A%A1%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%88%E5%BC%BA%E8%B0%83%E8%BF%87%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BA%E6%8C%81%E4%B9%85%E6%80%A7%E7%9A%84%E7%89%B9%E6%80%A7%EF%BC%8C%E5%B0%B1%E6%98%AF%E8%AF%B4%E5%AF%B9%E4%BA%8E%E4%B8%80%E4%B8%AA%E5%B7%B2%E7%BB%8F%E6%8F%90%E4%BA%A4%E7%9A%84%E4%BA%8B%E5%8A%A1%EF%BC%8C%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E5%90%8E%E5%8D%B3%E4%BD%BF%E7%B3%BB%E7%BB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E5%B4%A9%E6%BA%83%EF%BC%8C%E8%BF%99%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E6%89%80%E5%81%9A%E7%9A%84%E6%9B%B4%E6%94%B9%E4%B9%9F%E4%B8%8D%E8%83%BD%E4%B8%A2%E5%A4%B1%E3%80%82%E4%BD%86%E6%98%AF%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E5%8F%AA%E5%9C%A8%E5%86%85%E5%AD%98%E7%9A%84Buffer%20Pool%E4%B8%AD%E4%BF%AE%E6%94%B9%E4%BA%86%E9%A1%B5%E9%9D%A2%EF%BC%8C%E5%81%87%E8%AE%BE%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E5%90%8E%E7%AA%81%E7%84%B6%E5%8F%91%E7%94%9F%E4%BA%86%E6%9F%90%E4%B8%AA%E6%95%85%E9%9A%9C%EF%BC%8C%E5%AF%BC%E8%87%B4%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E9%83%BD%E5%A4%B1%E6%95%88%E4%BA%86%EF%BC%8C%E9%82%A3%E4%B9%88%E8%BF%99%E4%B8%AA%E5%B7%B2%E7%BB%8F%E6%8F%90%E4%BA%A4%E4%BA%86%E7%9A%84%E4%BA%8B%E5%8A%A1%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E6%89%80%E5%81%9A%E7%9A%84%E6%9B%B4%E6%94%B9%E4%B9%9F%E5%B0%B1%E8%B7%9F%E7%9D%80%E4%B8%A2%E5%A4%B1%E4%BA%86%EF%BC%8C%E8%BF%99%E6%98%AF%E4%B8%8D%E8%83%BD%E6%8E%A5%E5%8F%97%E7%9A%84%E3%80%82%0A%E9%82%A3%E4%B9%88%E5%A6%82%E4%BD%95%E4%BF%9D%E8%AF%81%E8%BF%99%E4%B8%AA%E6%8C%81%E4%B9%85%E6%80%A7%E5%91%A2%EF%BC%9F%E4%B8%80%E4%B8%AA%E5%BE%88%E7%AE%80%E5%8D%95%E7%9A%84%E5%81%9A%E6%B3%95%E5%B0%B1%E6%98%AF%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E5%AE%8C%E6%88%90%E4%B9%8B%E5%89%8D%E6%8A%8A%E8%AF%A5%E4%BA%8B%E5%8A%A1%E6%89%80%E4%BF%AE%E6%94%B9%E7%9A%84%E6%89%80%E6%9C%89%E9%A1%B5%E9%9D%A2%E9%83%BD%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E4%BD%86%E6%98%AF%E8%BF%99%E4%B8%AA%E7%AE%80%E5%8D%95%E7%B2%97%E6%9A%B4%E7%9A%84%E5%81%9A%E6%B3%95%E6%9C%89%E4%BA%9B%E9%97%AE%E9%A2%98%EF%BC%9A%0A%0A*%20%E5%88%B7%E6%96%B0%E4%B8%80%E4%B8%AA%E5%AE%8C%E6%95%B4%E7%9A%84%E6%95%B0%E6%8D%AE%E9%A1%B5%E5%A4%AA%E6%B5%AA%E8%B4%B9%E4%BA%86%0A%E6%9C%89%E6%97%B6%E5%80%99%E6%88%91%E4%BB%AC%E4%BB%85%E4%BB%85%E4%BF%AE%E6%94%B9%E4%BA%86%E6%9F%90%E4%B8%AA%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%EF%BC%8C%E4%BD%86%E6%98%AF%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E5%9C%A8InnoDB%E4%B8%AD%E6%98%AF%E4%BB%A5%E9%A1%B5%E4%B8%BA%E5%8D%95%E4%BD%8D%E6%9D%A5%E8%BF%9B%E8%A1%8C%E7%A3%81%E7%9B%98IO%E7%9A%84%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E6%88%91%E4%BB%AC%E5%9C%A8%E8%AF%A5%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E4%B8%8D%E5%BE%97%E4%B8%8D%E5%B0%86%E4%B8%80%E4%B8%AA%E5%AE%8C%E6%95%B4%E7%9A%84%E9%A1%B5%E9%9D%A2%E4%BB%8E%E5%86%85%E5%AD%98%E4%B8%AD%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%88%E7%9F%A5%E9%81%93%E4%B8%80%E4%B8%AA%E9%A1%B5%E9%9D%A2%E9%BB%98%E8%AE%A4%E6%98%AF16KB%E5%A4%A7%E5%B0%8F%EF%BC%8C%E5%8F%AA%E4%BF%AE%E6%94%B9%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%E5%B0%B1%E8%A6%81%E5%88%B7%E6%96%B016KB%E7%9A%84%E6%95%B0%E6%8D%AE%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%E6%98%BE%E7%84%B6%E6%98%AF%E5%A4%AA%E6%B5%AA%E8%B4%B9%E4%BA%86%E3%80%82%0A%0A*%20%E9%9A%8F%E6%9C%BAIO%E5%88%B7%E6%96%B0%E8%B5%B7%E6%9D%A5%E6%AF%94%E8%BE%83%E6%85%A2%0A%E4%B8%80%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%8F%AF%E8%83%BD%E5%8C%85%E5%90%AB%E5%BE%88%E5%A4%9A%E8%AF%AD%E5%8F%A5%EF%BC%8C%E5%8D%B3%E4%BD%BF%E6%98%AF%E4%B8%80%E6%9D%A1%E8%AF%AD%E5%8F%A5%E4%B9%9F%E5%8F%AF%E8%83%BD%E4%BF%AE%E6%94%B9%E8%AE%B8%E5%A4%9A%E9%A1%B5%E9%9D%A2%EF%BC%8C%E5%80%92%E9%9C%89%E5%82%AC%E7%9A%84%E6%98%AF%E8%AF%A5%E4%BA%8B%E5%8A%A1%E4%BF%AE%E6%94%B9%E7%9A%84%E8%BF%99%E4%BA%9B%E9%A1%B5%E9%9D%A2%E5%8F%AF%E8%83%BD%E5%B9%B6%E4%B8%8D%E7%9B%B8%E9%82%BB%EF%BC%8C%E8%BF%99%E5%B0%B1%E6%84%8F%E5%91%B3%E7%9D%80%E5%9C%A8%E5%B0%86%E6%9F%90%E4%B8%AA%E4%BA%8B%E5%8A%A1%E4%BF%AE%E6%94%B9%E7%9A%84Buffer%20Pool%E4%B8%AD%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E6%97%B6%EF%BC%8C%E9%9C%80%E8%A6%81%E8%BF%9B%E8%A1%8C%E5%BE%88%E5%A4%9A%E7%9A%84%E9%9A%8F%E6%9C%BAIO%EF%BC%8C%E9%9A%8F%E6%9C%BAIO%E6%AF%94%E9%A1%BA%E5%BA%8FIO%E8%A6%81%E6%85%A2%EF%BC%8C%E5%B0%A4%E5%85%B6%E5%AF%B9%E4%BA%8E%E4%BC%A0%E7%BB%9F%E7%9A%84%E6%9C%BA%E6%A2%B0%E7%A1%AC%E7%9B%98%E6%9D%A5%E8%AF%B4%E3%80%82%0A%0A%0A**%E6%83%B3%E8%AE%A9%E5%B7%B2%E7%BB%8F%E6%8F%90%E4%BA%A4%E4%BA%86%E7%9A%84%E4%BA%8B%E5%8A%A1%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E6%95%B0%E6%8D%AE%E6%89%80%E5%81%9A%E7%9A%84%E4%BF%AE%E6%94%B9%E6%B0%B8%E4%B9%85%E7%94%9F%E6%95%88%EF%BC%8C%E5%8D%B3%E4%BD%BF%E5%90%8E%E6%9D%A5%E7%B3%BB%E7%BB%9F%E5%B4%A9%E6%BA%83%EF%BC%8C%E5%9C%A8%E9%87%8D%E5%90%AF%E5%90%8E%E4%B9%9F%E8%83%BD%E6%8A%8A%E8%BF%99%E7%A7%8D%E4%BF%AE%E6%94%B9%E6%81%A2%E5%A4%8D%E5%87%BA%E6%9D%A5**%E3%80%82%E6%89%80%E4%BB%A5%E6%88%91%E4%BB%AC%E5%85%B6%E5%AE%9E%E6%B2%A1%E6%9C%89%E5%BF%85%E8%A6%81%E5%9C%A8%E6%AF%8F%E6%AC%A1%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E5%B0%B1%E6%8A%8A%E8%AF%A5%E4%BA%8B%E5%8A%A1%E5%9C%A8%E5%86%85%E5%AD%98%E4%B8%AD%E4%BF%AE%E6%94%B9%E8%BF%87%E7%9A%84%E5%85%A8%E9%83%A8%E9%A1%B5%E9%9D%A2%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C**%E5%8F%AA%E9%9C%80%E8%A6%81%E6%8A%8A%E4%BF%AE%E6%94%B9%E4%BA%86%E5%93%AA%E4%BA%9B%E4%B8%9C%E8%A5%BF%E8%AE%B0%E5%BD%95%E4%B8%80%E4%B8%8B%E5%B0%B1%E5%A5%BD**%EF%BC%8C%E6%AF%94%E6%96%B9%E8%AF%B4%E6%9F%90%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%B0%86%E7%B3%BB%E7%BB%9F%E8%A1%A8%E7%A9%BA%E9%97%B4%E4%B8%AD%E7%9A%84%E7%AC%AC100%E5%8F%B7%E9%A1%B5%E9%9D%A2%E4%B8%AD%E5%81%8F%E7%A7%BB%E9%87%8F%E4%B8%BA1000%E5%A4%84%E7%9A%84%E9%82%A3%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84%E5%80%BC1%E6%94%B9%E6%88%902%E6%88%91%E4%BB%AC%E5%8F%AA%E9%9C%80%E8%A6%81%E8%AE%B0%E5%BD%95%E4%B8%80%E4%B8%8B%EF%BC%9A!%5Bd16cda275da414ae81485e418bd5937d.png%5D(en-resource%3A%2F%2Fdatabase%2F945%3A1)%0A%0A%E8%BF%99%E6%A0%B7%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%EF%BC%8C%E6%8A%8A%E4%B8%8A%E8%BF%B0%E5%86%85%E5%AE%B9%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%EF%BC%8C%E5%8D%B3%E4%BD%BF%E4%B9%8B%E5%90%8E%E7%B3%BB%E7%BB%9F%E5%B4%A9%E6%BA%83%E4%BA%86%EF%BC%8C%E9%87%8D%E5%90%AF%E4%B9%8B%E5%90%8E%E5%8F%AA%E8%A6%81%E6%8C%89%E7%85%A7%E4%B8%8A%E8%BF%B0%E5%86%85%E5%AE%B9%E6%89%80%E8%AE%B0%E5%BD%95%E7%9A%84%E6%AD%A5%E9%AA%A4%E9%87%8D%E6%96%B0%E6%9B%B4%E6%96%B0%E4%B8%80%E4%B8%8B%E6%95%B0%E6%8D%AE%E9%A1%B5%EF%BC%8C%E9%82%A3%E4%B9%88%E8%AF%A5%E4%BA%8B%E5%8A%A1%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E6%89%80%E5%81%9A%E7%9A%84%E4%BF%AE%E6%94%B9%E5%8F%88%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%81%A2%E5%A4%8D%E5%87%BA%E6%9D%A5%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%84%8F%E5%91%B3%E7%9D%80%E6%BB%A1%E8%B6%B3**%E6%8C%81%E4%B9%85%E6%80%A7**%E7%9A%84%E8%A6%81%E6%B1%82%E3%80%82%E5%9B%A0%E4%B8%BA%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E6%97%B6%E9%9C%80%E8%A6%81%E6%8C%89%E7%85%A7%E4%B8%8A%E8%BF%B0%E5%86%85%E5%AE%B9%E6%89%80%E8%AE%B0%E5%BD%95%E7%9A%84%E6%AD%A5%E9%AA%A4%E9%87%8D%E6%96%B0%E6%9B%B4%E6%96%B0%E6%95%B0%E6%8D%AE%E9%A1%B5%EF%BC%8C%E6%89%80%E4%BB%A5%E4%B8%8A%E8%BF%B0%E5%86%85%E5%AE%B9%E4%B9%9F%E8%A2%AB%E7%A7%B0%E4%B9%8B%E4%B8%BA**%E9%87%8D%E5%81%9A%E6%97%A5%E5%BF%97**%EF%BC%8C%E8%8B%B1%E6%96%87%E5%90%8D%E4%B8%BA**redo%20log**%EF%BC%8C%E4%B9%9F%E7%A7%B0%E4%B9%8B%E4%B8%BA**redo%E6%97%A5%E5%BF%97**%E3%80%82%E4%B8%8E%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E5%B0%86%E6%89%80%E6%9C%89%E4%BF%AE%E6%94%B9%E8%BF%87%E7%9A%84%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%E7%9B%B8%E6%AF%94%EF%BC%8C%E5%8F%AA%E5%B0%86%E8%AF%A5%E4%BA%8B%E5%8A%A1%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E7%9A%84%E5%A5%BD%E5%A4%84%E5%A6%82%E4%B8%8B%EF%BC%9A%0A%0A*%20redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E7%A9%BA%E9%97%B4%E9%9D%9E%E5%B8%B8%E5%B0%8F%0A%E5%AD%98%E5%82%A8%E8%A1%A8%E7%A9%BA%E9%97%B4ID%E3%80%81%E9%A1%B5%E5%8F%B7%E3%80%81%E5%81%8F%E7%A7%BB%E9%87%8F%E4%BB%A5%E5%8F%8A%E9%9C%80%E8%A6%81%E6%9B%B4%E6%96%B0%E7%9A%84%E5%80%BC%E6%89%80%E9%9C%80%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E6%98%AF%E5%BE%88%E5%B0%8F%E7%9A%84%E3%80%82%0A*%20redo%E6%97%A5%E5%BF%97%E6%98%AF%E9%A1%BA%E5%BA%8F%E5%86%99%E5%85%A5%E7%A3%81%E7%9B%98%E7%9A%84%0A%E5%9C%A8%E6%89%A7%E8%A1%8C%E4%BA%8B%E5%8A%A1%E7%9A%84%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8C%E6%AF%8F%E6%89%A7%E8%A1%8C%E4%B8%80%E6%9D%A1%E8%AF%AD%E5%8F%A5%EF%BC%8C%E5%B0%B1%E5%8F%AF%E8%83%BD%E4%BA%A7%E7%94%9F%E8%8B%A5%E5%B9%B2%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E8%BF%99%E4%BA%9B%E6%97%A5%E5%BF%97%E6%98%AF%E6%8C%89%E7%85%A7%E4%BA%A7%E7%94%9F%E7%9A%84%E9%A1%BA%E5%BA%8F%E5%86%99%E5%85%A5%E7%A3%81%E7%9B%98%E7%9A%84%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E4%BD%BF%E7%94%A8%E9%A1%BA%E5%BA%8FIO%E3%80%82%0A%0A%0A%23%23%201%20redo%E6%97%A5%E5%BF%97%E6%A0%BC%E5%BC%8F%0AInnoDB%E9%92%88%E5%AF%B9%E4%BA%8B%E5%8A%A1%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E4%B8%8D%E5%90%8C%E4%BF%AE%E6%94%B9%E5%9C%BA%E6%99%AF%E5%AE%9A%E4%B9%89%E4%BA%86%E5%A4%9A%E7%A7%8D%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E4%BD%86%E6%98%AF%E7%BB%9D%E5%A4%A7%E9%83%A8%E5%88%86%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E6%9C%89%E4%B8%8B%E8%BE%B9%E8%BF%99%E7%A7%8D%E9%80%9A%E7%94%A8%E7%9A%84%E7%BB%93%E6%9E%84%EF%BC%9A!%5Bf05500553fd3f37cbfdfcc74e896025b.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F947%3A1)%0A%0A%E5%90%84%E4%B8%AA%E9%83%A8%E5%88%86%E7%9A%84%E8%AF%A6%E7%BB%86%E9%87%8A%E4%B9%89%E5%A6%82%E4%B8%8B%EF%BC%9A%0A%0A*%20**type**%EF%BC%9A%E8%AF%A5%E6%9D%A1redo%E6%97%A5%E5%BF%97%E7%9A%84%E7%B1%BB%E5%9E%8B%EF%BC%8C%E5%9C%A8MySQL%205.7.21%E8%BF%99%E4%B8%AA%E7%89%88%E6%9C%AC%E4%B8%AD%EF%BC%8CInnoDB%E4%B8%80%E5%85%B1%E4%B8%BAredo%E6%97%A5%E5%BF%97%E8%AE%BE%E8%AE%A1%E4%BA%8653%E7%A7%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**space%20ID**%EF%BC%9A%E8%A1%A8%E7%A9%BA%E9%97%B4ID%EF%BC%9B%0A*%20**page%20number**%EF%BC%9A%E9%A1%B5%E5%8F%B7%EF%BC%9B%0A*%20**data**%EF%BC%9A%E8%AF%A5%E6%9D%A1redo%E6%97%A5%E5%BF%97%E7%9A%84%E5%85%B7%E4%BD%93%E5%86%85%E5%AE%B9%0A%0A%23%23%23%201-1%20%E7%AE%80%E5%8D%95%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%0AInnoDB%E6%8A%8A%E6%9E%81%E5%85%B6%E7%AE%80%E5%8D%95%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%A7%B0%E4%B9%8B%E4%B8%BA**%E7%89%A9%E7%90%86%E6%97%A5%E5%BF%97**%EF%BC%8C%E5%B9%B6%E4%B8%94%E6%A0%B9%E6%8D%AE%E5%9C%A8%E9%A1%B5%E9%9D%A2%E4%B8%AD%E5%86%99%E5%85%A5%E6%95%B0%E6%8D%AE%E7%9A%84%E5%A4%9A%E5%B0%91%E5%88%92%E5%88%86%E4%BA%86%E5%87%A0%E7%A7%8D%E4%B8%8D%E5%90%8C%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%0A%0A*%20**MLOG_1BYTE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**1**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%9C%A8%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%86%99%E5%85%A51%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_2BYTE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**2**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%9C%A8%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%86%99%E5%85%A52%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_4BYTE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**4**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%9C%A8%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%86%99%E5%85%A54%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_8BYTE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**8**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%9C%A8%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%86%99%E5%85%A58%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_WRITE_STRING**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**30**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%9C%A8%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%86%99%E5%85%A5%E4%B8%80%E4%B8%B2%E6%95%B0%E6%8D%AE%E3%80%82%0A%0A%0A%E4%B8%8A%E8%BE%B9%E6%8F%90%E5%88%B0%E7%9A%84Max%20Row%20ID%E5%B1%9E%E6%80%A7%E5%AE%9E%E9%99%85%E5%8D%A0%E7%94%A88%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%EF%BC%8C%E6%89%80%E4%BB%A5%E5%9C%A8%E4%BF%AE%E6%94%B9%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84%E8%AF%A5%E5%B1%9E%E6%80%A7%E6%97%B6%EF%BC%8C%E4%BC%9A%E8%AE%B0%E5%BD%95%E4%B8%80%E6%9D%A1%E7%B1%BB%E5%9E%8B%E4%B8%BAMLOG_8BYTE%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8CMLOG_8BYTE%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%BB%93%E6%9E%84%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A!%5Bed8675292cc97b4049780a869e33a132.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F949%3A1)%0A%0A%E5%85%B6%E4%BD%99MLOG_1BYTE%E3%80%81MLOG_2BYTE%E3%80%81MLOG_4BYTE%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%BB%93%E6%9E%84%E5%92%8CMLOG_8BYTE%E7%9A%84%E7%B1%BB%E4%BC%BC%EF%BC%8C%E5%8F%AA%E4%B8%8D%E8%BF%87%E5%85%B7%E4%BD%93%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8C%85%E5%90%AB%E5%AF%B9%E5%BA%94%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BD%A2%E4%BA%86%E3%80%82MLOG_WRITE_STRING%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E8%A1%A8%E7%A4%BA%E5%86%99%E5%85%A5%E4%B8%80%E4%B8%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%BD%86%E6%98%AF%E5%9B%A0%E4%B8%BA%E4%B8%8D%E8%83%BD%E7%A1%AE%E5%AE%9A%E5%86%99%E5%85%A5%E7%9A%84%E5%85%B7%E4%BD%93%E6%95%B0%E6%8D%AE%E5%8D%A0%E7%94%A8%E5%A4%9A%E5%B0%91%E5%AD%97%E8%8A%82%EF%BC%8C%E6%89%80%E4%BB%A5%E9%9C%80%E8%A6%81%E5%9C%A8%E6%97%A5%E5%BF%97%E7%BB%93%E6%9E%84%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA**len**%E5%AD%97%E6%AE%B5%EF%BC%9A!%5B1670d691acea865d2bbc791b0d138571.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F951%3A1)%0A%0A%0A%23%23%23%201-2%20%E5%A4%8D%E6%9D%82%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%0A%0A%E6%9C%89%E6%97%B6%E5%80%99%E6%89%A7%E8%A1%8C%E4%B8%80%E6%9D%A1%E8%AF%AD%E5%8F%A5%E4%BC%9A%E4%BF%AE%E6%94%B9%E9%9D%9E%E5%B8%B8%E5%A4%9A%E7%9A%84%E9%A1%B5%E9%9D%A2%EF%BC%8C%E5%8C%85%E6%8B%AC%E7%B3%BB%E7%BB%9F%E6%95%B0%E6%8D%AE%E9%A1%B5%E9%9D%A2%E5%92%8C%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E9%A1%B5%E9%9D%A2%EF%BC%88%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E6%8C%87%E7%9A%84%E5%B0%B1%E6%98%AF%E8%81%9A%E7%B0%87%E7%B4%A2%E5%BC%95%E5%92%8C%E4%BA%8C%E7%BA%A7%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%EF%BC%89%E3%80%82%E4%BB%A5%E4%B8%80%E6%9D%A1INSERT%E8%AF%AD%E5%8F%A5%E4%B8%BA%E4%BE%8B%EF%BC%8C%E5%AE%83%E9%99%A4%E4%BA%86%E8%A6%81%E5%90%91B%2B%E6%A0%91%E7%9A%84%E9%A1%B5%E9%9D%A2%E4%B8%AD%E6%8F%92%E5%85%A5%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%B9%9F%E5%8F%AF%E8%83%BD%E6%9B%B4%E6%96%B0%E7%B3%BB%E7%BB%9F%E6%95%B0%E6%8D%AEMax%20Row%20ID%E7%9A%84%E5%80%BC%EF%BC%8C%E4%B8%8D%E8%BF%87%E5%AF%B9%E4%BA%8E%E6%88%91%E4%BB%AC%E7%94%A8%E6%88%B7%E6%9D%A5%E8%AF%B4%EF%BC%8C%E5%B9%B3%E6%97%B6%E6%9B%B4%E5%85%B3%E5%BF%83%E7%9A%84%E6%98%AF%E8%AF%AD%E5%8F%A5%E5%AF%B9B%2B%E6%A0%91%E6%89%80%E5%81%9A%E6%9B%B4%E6%96%B0%EF%BC%9A%0A%0A*%20%E8%A1%A8%E4%B8%AD%E5%8C%85%E5%90%AB%E5%A4%9A%E5%B0%91%E4%B8%AA%E7%B4%A2%E5%BC%95%EF%BC%8C%E4%B8%80%E6%9D%A1INSERT%E8%AF%AD%E5%8F%A5%E5%B0%B1%E5%8F%AF%E8%83%BD%E6%9B%B4%E6%96%B0%E5%A4%9A%E5%B0%91%E6%A3%B5B%2B%E6%A0%91%EF%BC%9B%0A*%20%E9%92%88%E5%AF%B9%E6%9F%90%E4%B8%80%E6%A3%B5B%2B%E6%A0%91%E6%9D%A5%E8%AF%B4%EF%BC%8C%E6%97%A2%E5%8F%AF%E8%83%BD%E6%9B%B4%E6%96%B0%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E9%A1%B5%E9%9D%A2%EF%BC%8C%E4%B9%9F%E5%8F%AF%E8%83%BD%E6%9B%B4%E6%96%B0%E5%86%85%E8%8A%82%E7%82%B9%E9%A1%B5%E9%9D%A2%EF%BC%8C%E4%B9%9F%E5%8F%AF%E8%83%BD%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E9%A1%B5%E9%9D%A2%EF%BC%88%E5%9C%A8%E8%AF%A5%E8%AE%B0%E5%BD%95%E6%8F%92%E5%85%A5%E7%9A%84%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E7%9A%84%E5%89%A9%E4%BD%99%E7%A9%BA%E9%97%B4%E6%AF%94%E8%BE%83%E5%B0%91%EF%BC%8C%E4%B8%8D%E8%B6%B3%E4%BB%A5%E5%AD%98%E6%94%BE%E8%AF%A5%E8%AE%B0%E5%BD%95%E6%97%B6%EF%BC%8C%E4%BC%9A%E8%BF%9B%E8%A1%8C%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%88%86%E8%A3%82%EF%BC%8C%E5%9C%A8%E5%86%85%E8%8A%82%E7%82%B9%E9%A1%B5%E9%9D%A2%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9B%AE%E5%BD%95%E9%A1%B9%E8%AE%B0%E5%BD%95%EF%BC%89%EF%BC%9B%0A%0A%0A%E5%9C%A8%E8%AF%AD%E5%8F%A5%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8CINSERT%E8%AF%AD%E5%8F%A5%E5%AF%B9%E6%89%80%E6%9C%89%E9%A1%B5%E9%9D%A2%E7%9A%84%E4%BF%AE%E6%94%B9%E9%83%BD%E5%BE%97%E4%BF%9D%E5%AD%98%E5%88%B0redo%E6%97%A5%E5%BF%97%E4%B8%AD%E5%8E%BB%E3%80%82%E8%BF%99%E5%8F%A5%E8%AF%9D%E8%AF%B4%E7%9A%84%E6%AF%94%E8%BE%83%E8%BD%BB%E5%B7%A7%EF%BC%8C%E5%81%9A%E8%B5%B7%E6%9D%A5%E5%8F%AF%E5%B0%B1%E6%AF%94%E8%BE%83%E9%BA%BB%E7%83%A6%E4%BA%86%EF%BC%8C%E6%AF%94%E6%96%B9%E8%AF%B4%E5%B0%86%E8%AE%B0%E5%BD%95%E6%8F%92%E5%85%A5%E5%88%B0%E8%81%9A%E7%B0%87%E7%B4%A2%E5%BC%95%E4%B8%AD%E6%97%B6%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%AE%9A%E4%BD%8D%E5%88%B0%E7%9A%84%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E7%9A%84%E5%89%A9%E4%BD%99%E7%A9%BA%E9%97%B4%E8%B6%B3%E5%A4%9F%E5%AD%98%E5%82%A8%E8%AF%A5%E8%AE%B0%E5%BD%95%E6%97%B6%EF%BC%8C%E9%82%A3%E4%B9%88%E5%8F%AA%E6%9B%B4%E6%96%B0%E8%AF%A5%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E9%A1%B5%E9%9D%A2%E5%B0%B1%E5%A5%BD%EF%BC%8C%E9%82%A3%E4%B9%88%E5%8F%AA%E8%AE%B0%E5%BD%95%E4%B8%80%E6%9D%A1MLOG_WRITE_STRING%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E8%A1%A8%E6%98%8E%E5%9C%A8%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%A2%9E%E5%8A%A0%E4%BA%86%E5%93%AA%E4%BA%9B%E6%95%B0%E6%8D%AE%E5%B0%B1%E5%A5%BD%E4%BA%86%E4%B9%88%EF%BC%9F%E9%82%A3%E5%B0%B1too%20young%20too%20naive%E4%BA%86%EF%BD%9E%20%E5%88%AB%E5%BF%98%E4%BA%86%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E9%A1%B5%E4%B8%AD%E9%99%A4%E4%BA%86%E5%AD%98%E5%82%A8%E5%AE%9E%E9%99%85%E7%9A%84%E8%AE%B0%E5%BD%95%E4%B9%8B%E5%90%8E%EF%BC%8C%E8%BF%98%E6%9C%89%E4%BB%80%E4%B9%88File%20Header%E3%80%81Page%20Header%E3%80%81Page%20Directory%E7%AD%89%E7%AD%89%E9%83%A8%E5%88%86%EF%BC%88%E5%9C%A8%E5%94%A0%E5%8F%A8%E6%95%B0%E6%8D%AE%E9%A1%B5%E7%9A%84%E7%AB%A0%E8%8A%82%E6%9C%89%E8%AF%A6%E7%BB%86%E8%AE%B2%E8%A7%A3%EF%BC%89%EF%BC%8C%E6%89%80%E4%BB%A5%E6%AF%8F%E5%BE%80%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E9%A1%B5%E9%87%8C%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E6%97%B6%EF%BC%8C%E8%BF%98%E6%9C%89%E5%85%B6%E4%BB%96%E5%BE%88%E5%A4%9A%E5%9C%B0%E6%96%B9%E4%BC%9A%E8%B7%9F%E7%9D%80%E6%9B%B4%E6%96%B0%EF%BC%8C%E6%AF%94%E5%A6%82%E8%AF%B4%EF%BC%9A%0A%0A*%20%E5%8F%AF%E8%83%BD%E6%9B%B4%E6%96%B0Page%20Directory%E4%B8%AD%E7%9A%84%E6%A7%BD%E4%BF%A1%E6%81%AF%EF%BC%9B%0A*%20Page%20Header%E4%B8%AD%E7%9A%84%E5%90%84%E7%A7%8D%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF%EF%BC%8C%E6%AF%94%E5%A6%82PAGE_N_DIR_SLOTS%E8%A1%A8%E7%A4%BA%E7%9A%84%E6%A7%BD%E6%95%B0%E9%87%8F%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9B%B4%E6%94%B9%EF%BC%8CPAGE_HEAP_TOP%E4%BB%A3%E8%A1%A8%E7%9A%84%E8%BF%98%E6%9C%AA%E4%BD%BF%E7%94%A8%E7%9A%84%E7%A9%BA%E9%97%B4%E6%9C%80%E5%B0%8F%E5%9C%B0%E5%9D%80%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9B%B4%E6%94%B9%EF%BC%8CPAGE_N_HEAP%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%9C%AC%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84%E8%AE%B0%E5%BD%95%E6%95%B0%E9%87%8F%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9B%B4%E6%94%B9%EF%BC%8C%E5%90%A7%E5%95%A6%E5%90%A7%E5%95%A6%EF%BC%8C%E5%90%84%E7%A7%8D%E4%BF%A1%E6%81%AF%E9%83%BD%E5%8F%AF%E8%83%BD%E4%BC%9A%E8%A2%AB%E4%BF%AE%E6%94%B9%EF%BC%9B%0A*%20%E5%9C%A8%E6%95%B0%E6%8D%AE%E9%A1%B5%E9%87%8C%E7%9A%84%E8%AE%B0%E5%BD%95%E6%98%AF%E6%8C%89%E7%85%A7%E7%B4%A2%E5%BC%95%E5%88%97%E4%BB%8E%E5%B0%8F%E5%88%B0%E5%A4%A7%E7%9A%84%E9%A1%BA%E5%BA%8F%E7%BB%84%E6%88%90%E4%B8%80%E4%B8%AA%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8%E7%9A%84%EF%BC%8C%E6%AF%8F%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E8%BF%98%E9%9C%80%E8%A6%81%E6%9B%B4%E6%96%B0%E4%B8%8A%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%E8%AE%B0%E5%BD%95%E5%A4%B4%E4%BF%A1%E6%81%AF%E4%B8%AD%E7%9A%84next_record%E5%B1%9E%E6%80%A7%E6%9D%A5%E7%BB%B4%E6%8A%A4%E8%BF%99%E4%B8%AA%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8%EF%BC%9B%0A*%20%E7%AD%89%E7%AD%89%EF%BC%8C%E8%BF%98%E6%9C%89%E5%BE%88%E5%A4%9A%E5%85%B6%E4%BB%96%E5%9C%B0%E6%96%B9...%20...%0A%0A**InnoDB%E4%B8%BA%E4%BA%86%E8%AE%B0%E5%BD%95%E8%BF%99%E7%A7%8D%E5%A4%8D%E6%9D%82%E7%9A%84%E9%A1%B5%E9%9D%A2%E4%BF%AE%E6%94%B9redo%E6%97%A5%E5%BF%97%EF%BC%8C%E6%8F%90%E5%87%BA%E4%BA%86%E4%B8%80%E4%BA%9B%E6%96%B0%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9A**%0A%0A*%20**MLOG_REC_INSERT**%EF%BC%88**type**%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**9**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E4%BD%BF%E7%94%A8**%E9%9D%9E%E7%B4%A7%E5%87%91%E8%A1%8C%E6%A0%BC%E5%BC%8F%E7%9A%84%E8%AE%B0%E5%BD%95%EF%BC%88Redundant%EF%BC%89**%EF%BC%9B%0A*%20**MLOG_COMP_REC_INSERT**%EF%BC%88**type**%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**38**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E4%BD%BF%E7%94%A8**%E7%B4%A7%E5%87%91%E8%A1%8C%E6%A0%BC%E5%BC%8F%E7%9A%84%E8%AE%B0%E5%BD%95%EF%BC%88Compact%E3%80%81Dynamic%E3%80%81Compressed%EF%BC%89**%E6%97%B6%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_COMP_PAGE_CREATE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**58**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%AD%98%E5%82%A8**%E7%B4%A7%E5%87%91%E8%A1%8C%E6%A0%BC%E5%BC%8F%E8%AE%B0%E5%BD%95%E7%9A%84%E9%A1%B5%E9%9D%A2**%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_COMP_REC_DELETE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**42**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%88%A0%E9%99%A4%E4%B8%80%E6%9D%A1%E4%BD%BF%E7%94%A8%E7%B4%A7%E5%87%91%E8%A1%8C%E6%A0%BC%E5%BC%8F%E8%AE%B0%E5%BD%95%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_COMP_LIST_START_DELETE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**44**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E4%BB%8E%E6%9F%90%E6%9D%A1%E7%BB%99%E5%AE%9A%E8%AE%B0%E5%BD%95%E5%BC%80%E5%A7%8B%E5%88%A0%E9%99%A4%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84%E4%B8%80%E7%B3%BB%E5%88%97%E4%BD%BF%E7%94%A8%E7%B4%A7%E5%87%91%E8%A1%8C%E6%A0%BC%E5%BC%8F%E8%AE%B0%E5%BD%95%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%9B%0A*%20**MLOG_COMP_LIST_END_DELETE**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**43**%EF%BC%89%EF%BC%9A%E4%B8%8EMLOG_COMP_LIST_START_DELETE%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%91%BC%E5%BA%94%EF%BC%8C%E8%A1%A8%E7%A4%BA%E5%88%A0%E9%99%A4%E4%B8%80%E7%B3%BB%E5%88%97%E8%AE%B0%E5%BD%95%E7%9B%B4%E5%88%B0MLOG_COMP_LIST_END_DELETE%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%AF%B9%E5%BA%94%E7%9A%84%E8%AE%B0%E5%BD%95%E4%B8%BA%E6%AD%A2%EF%BC%9B%0A%E6%9C%89%E6%97%B6%E5%80%99%E6%88%91%E4%BB%AC%E4%BC%9A%E6%9C%89%E5%88%A0%E9%99%A4%E7%B4%A2%E5%BC%95%E5%88%97%E7%9A%84%E5%80%BC%E5%9C%A8%E6%9F%90%E4%B8%AA%E5%8C%BA%E9%97%B4%E8%8C%83%E5%9B%B4%E5%86%85%E7%9A%84%E6%89%80%E6%9C%89%E8%AE%B0%E5%BD%95%E7%9A%84%E9%9C%80%E6%B1%82%EF%BC%8C%E8%BF%99%E6%97%B6%E5%80%99%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%AF%8F%E5%88%A0%E9%99%A4%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%B0%B1%E5%86%99%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E7%9A%84%E8%AF%9D%EF%BC%8C%E6%95%88%E7%8E%87%E5%8F%AF%E8%83%BD%E6%9C%89%E7%82%B9%E4%BD%8E%EF%BC%8C%E6%89%80%E4%BB%A5%E6%8F%90%E5%87%BAMLOG_COMP_LIST_START_DELETE%E5%92%8CMLOG_COMP_LIST_END_DELETE%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%BE%88%E5%A4%A7%E7%A8%8B%E5%BA%A6%E4%B8%8A%E5%87%8F%E5%B0%91redo%E6%97%A5%E5%BF%97%E7%9A%84%E6%9D%A1%E6%95%B0%E3%80%82%0A%0A*%20**MLOG_ZIP_PAGE_COMPRESS**%EF%BC%88**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**51**%EF%BC%89%EF%BC%9A%E8%A1%A8%E7%A4%BA%E5%8E%8B%E7%BC%A9%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E9%A1%B5%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%E3%80%82%0A*%20%E7%AD%89%E7%AD%89%EF%BC%8C%E8%BF%98%E6%9C%89%E5%BE%88%E5%A4%9A%E5%85%B6%E4%BB%96%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B...%20...%0A%0A%E8%BF%99%E4%BA%9B%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%97%A2%E5%8C%85%E5%90%AB**%E7%89%A9%E7%90%86%E5%B1%82%E9%9D%A2**%E7%9A%84%E6%84%8F%E6%80%9D%EF%BC%8C%E4%B9%9F%E5%8C%85%E5%90%AB**%E9%80%BB%E8%BE%91%E5%B1%82%E9%9D%A2**%E7%9A%84%E6%84%8F%E6%80%9D%EF%BC%8C%E5%85%B7%E4%BD%93%E6%8C%87%EF%BC%9A%0A%0A*%20**%E7%89%A9%E7%90%86%E5%B1%82%E9%9D%A2**%EF%BC%9A%E8%BF%99%E4%BA%9B%E6%97%A5%E5%BF%97%E9%83%BD%E6%8C%87%E6%98%8E%E4%BA%86%E5%AF%B9%E5%93%AA%E4%B8%AA%E8%A1%A8%E7%A9%BA%E9%97%B4%E7%9A%84%E5%93%AA%E4%B8%AA%E9%A1%B5%E8%BF%9B%E8%A1%8C%E4%BA%86%E4%BF%AE%E6%94%B9%EF%BC%9B%0A*%20**%E9%80%BB%E8%BE%91%E5%B1%82%E9%9D%A2**%EF%BC%9A%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%B4%A9%E6%BA%83%E9%87%8D%E5%90%AF%E6%97%B6%EF%BC%8C%E5%B9%B6%E4%B8%8D%E8%83%BD%E7%9B%B4%E6%8E%A5%E6%A0%B9%E6%8D%AE%E8%BF%99%E4%BA%9B%E6%97%A5%E5%BF%97%E9%87%8C%E7%9A%84%E8%AE%B0%E8%BD%BD%EF%BC%8C%E5%B0%86%E9%A1%B5%E9%9D%A2%E5%86%85%E7%9A%84%E6%9F%90%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%E5%9B%9E%E5%A4%8D%E6%88%90%E6%9F%90%E4%B8%AA%E6%95%B0%E6%8D%AE%EF%BC%8C%E8%80%8C%E6%98%AF%E9%9C%80%E8%A6%81%E8%B0%83%E7%94%A8%E4%B8%80%E4%BA%9B%E7%B3%BB%E7%BB%9F%E5%87%BD%E6%95%B0%EF%BC%8C%E6%89%A7%E8%A1%8C%E5%AE%8C%E8%BF%99%E4%BA%9B%E5%87%BD%E6%95%B0%E5%90%8E%E6%89%8D%E5%8F%AF%E4%BB%A5%E5%B0%86%E9%A1%B5%E9%9D%A2%E6%81%A2%E5%A4%8D%E6%88%90%E7%B3%BB%E7%BB%9F%E5%B4%A9%E6%BA%83%E5%89%8D%E7%9A%84%E6%A0%B7%E5%AD%90%E3%80%82%0A%0A%0A%E4%BB%A5**MLOG_COMP_REC_INSERT**%E4%B8%BA%E4%BE%8B%EF%BC%8C%E7%9C%8B%E4%B8%80%E4%B8%8B**MLOG_COMP_REC_INSERT**%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%BB%93%E6%9E%84%EF%BC%9A%0A!%5Bb0319de1f3a35101036634d86c5c37ca.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F953%3A1)%0A%0A%E8%BF%99%E4%B8%AA%E7%B1%BB%E5%9E%8B%E4%B8%BA**MLOG_COMP_REC_INSERT**%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%BB%93%E6%9E%84%E6%9C%89%E5%87%A0%E4%B8%AA%E5%9C%B0%E6%96%B9%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%9A%0A%0A*%20%E5%9C%A8%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E9%A1%B5%E9%87%8C%EF%BC%8C%E4%B8%8D%E8%AE%BA%E6%98%AF%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E8%BF%98%E6%98%AF%E9%9D%9E%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%EF%BC%8C%E8%AE%B0%E5%BD%95%E9%83%BD%E6%98%AF%E6%8C%89%E7%85%A7%E7%B4%A2%E5%BC%95%E5%88%97%E4%BB%8E%E5%B0%8F%E5%88%B0%E5%A4%A7%E7%9A%84%E9%A1%BA%E5%BA%8F%E6%8E%92%E5%BA%8F%E7%9A%84%E3%80%82%E5%AF%B9%E4%BA%8E%E4%BA%8C%E7%BA%A7%E7%B4%A2%E5%BC%95%E6%9D%A5%E8%AF%B4%EF%BC%8C%E5%BD%93%E7%B4%A2%E5%BC%95%E5%88%97%E7%9A%84%E5%80%BC%E7%9B%B8%E5%90%8C%E6%97%B6%EF%BC%8C%E8%AE%B0%E5%BD%95%E8%BF%98%E9%9C%80%E8%A6%81%E6%8C%89%E7%85%A7%E4%B8%BB%E9%94%AE%E5%80%BC%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%E3%80%82%E5%9B%BE%E4%B8%ADn_uniques%E7%9A%84%E5%80%BC%E7%9A%84%E5%90%AB%E4%B9%89%E6%98%AF%E5%9C%A8%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E4%B8%AD%EF%BC%8C%E9%9C%80%E8%A6%81%E5%87%A0%E4%B8%AA%E5%AD%97%E6%AE%B5%E7%9A%84%E5%80%BC%E6%89%8D%E8%83%BD%E7%A1%AE%E4%BF%9D%E8%AE%B0%E5%BD%95%E7%9A%84%E5%94%AF%E4%B8%80%E6%80%A7%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%BD%93%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E6%97%B6%E5%B0%B1%E5%8F%AF%E4%BB%A5%E6%8C%89%E7%85%A7%E8%AE%B0%E5%BD%95%E7%9A%84%E5%89%8Dn_uniques%E4%B8%AA%E5%AD%97%E6%AE%B5%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%E3%80%82%E5%AF%B9%E4%BA%8E%E8%81%9A%E7%B0%87%E7%B4%A2%E5%BC%95%E6%9D%A5%E8%AF%B4%EF%BC%8Cn_uniques%E7%9A%84%E5%80%BC%E4%B8%BA%E4%B8%BB%E9%94%AE%E7%9A%84%E5%88%97%E6%95%B0%EF%BC%8C%E5%AF%B9%E4%BA%8E%E5%85%B6%E4%BB%96%E4%BA%8C%E7%BA%A7%E7%B4%A2%E5%BC%95%E6%9D%A5%E8%AF%B4%EF%BC%8C%E8%AF%A5%E5%80%BC%E4%B8%BA%E7%B4%A2%E5%BC%95%E5%88%97%E6%95%B0%2B%E4%B8%BB%E9%94%AE%E5%88%97%E6%95%B0%E3%80%82%E8%BF%99%E9%87%8C%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E6%98%AF%EF%BC%8C%E5%94%AF%E4%B8%80%E4%BA%8C%E7%BA%A7%E7%B4%A2%E5%BC%95%E7%9A%84%E5%80%BC%E5%8F%AF%E8%83%BD%E4%B8%BANULL%EF%BC%8C%E6%89%80%E4%BB%A5%E8%AF%A5%E5%80%BC%E4%BB%8D%E7%84%B6%E4%B8%BA%E7%B4%A2%E5%BC%95%E5%88%97%E6%95%B0%2B%E4%B8%BB%E9%94%AE%E5%88%97%E6%95%B0%EF%BC%9B%0A*%20field1_len%20~%20fieldn_len%E4%BB%A3%E8%A1%A8%E7%9D%80%E8%AF%A5%E8%AE%B0%E5%BD%95%E8%8B%A5%E5%B9%B2%E4%B8%AA%E5%AD%97%E6%AE%B5%E5%8D%A0%E7%94%A8%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%8C%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E6%98%AF%EF%BC%8C%E8%BF%99%E9%87%8C%E4%B8%8D%E7%AE%A1%E8%AF%A5%E5%AD%97%E6%AE%B5%E7%9A%84%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%9B%BA%E5%AE%9A%E9%95%BF%E5%BA%A6%E5%A4%A7%E5%B0%8F%E7%9A%84%EF%BC%88%E6%AF%94%E5%A6%82INT%EF%BC%89%EF%BC%8C%E8%BF%98%E6%98%AF%E5%8F%AF%E5%8F%98%E9%95%BF%E5%BA%A6%E5%A4%A7%E5%B0%8F%EF%BC%88%E6%AF%94%E5%A6%82VARCHAR(M)%EF%BC%89%E7%9A%84%EF%BC%8C%E8%AF%A5%E5%AD%97%E6%AE%B5%E5%8D%A0%E7%94%A8%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%A7%8B%E7%BB%88%E8%A6%81%E5%86%99%E5%85%A5redo%E6%97%A5%E5%BF%97%E4%B8%AD%EF%BC%9B%0A*%20offset%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%98%AF%E8%AF%A5%E8%AE%B0%E5%BD%95%E7%9A%84%E5%89%8D%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%9C%A8%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84%E5%9C%B0%E5%9D%80%E3%80%82%E4%B8%BA%E5%95%A5%E8%A6%81%E8%AE%B0%E5%BD%95%E5%89%8D%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%E5%9C%B0%E5%9D%80%E5%91%A2%EF%BC%9F%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%AF%8F%E5%90%91%E6%95%B0%E6%8D%AE%E9%A1%B5%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E9%83%BD%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E8%AF%A5%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%BB%B4%E6%8A%A4%E7%9A%84%E8%AE%B0%E5%BD%95%E9%93%BE%E8%A1%A8%EF%BC%8C%E6%AF%8F%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%E8%AE%B0%E5%BD%95%E5%A4%B4%E4%BF%A1%E6%81%AF%E4%B8%AD%E9%83%BD%E5%8C%85%E5%90%AB%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B8%BAnext_record%E7%9A%84%E5%B1%9E%E6%80%A7%EF%BC%8C%E6%89%80%E4%BB%A5%E5%9C%A8%E6%8F%92%E5%85%A5%E6%96%B0%E8%AE%B0%E5%BD%95%E6%97%B6%EF%BC%8C%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E5%89%8D%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84next_record%E5%B1%9E%E6%80%A7%EF%BC%9B%0A*%20%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%85%B6%E5%AE%9E%E7%94%B1%E9%A2%9D%E5%A4%96%E4%BF%A1%E6%81%AF%E5%92%8C%E7%9C%9F%E5%AE%9E%E6%95%B0%E6%8D%AE%E8%BF%99%E4%B8%A4%E9%83%A8%E5%88%86%E7%BB%84%E6%88%90%EF%BC%8C%E8%BF%99%E4%B8%A4%E4%B8%AA%E9%83%A8%E5%88%86%E7%9A%84%E6%80%BB%E5%A4%A7%E5%B0%8F%E5%B0%B1%E6%98%AF%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%8D%A0%E7%94%A8%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E7%9A%84%E6%80%BB%E5%A4%A7%E5%B0%8F%E3%80%82%E9%80%9A%E8%BF%87end_seg_len%E7%9A%84%E5%80%BC%E5%8F%AF%E4%BB%A5%E9%97%B4%E6%8E%A5%E7%9A%84%E8%AE%A1%E7%AE%97%E5%87%BA%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%8D%A0%E7%94%A8%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E7%9A%84%E6%80%BB%E5%A4%A7%E5%B0%8F%EF%BC%8C%E4%B8%BA%E5%95%A5%E4%B8%8D%E7%9B%B4%E6%8E%A5%E5%AD%98%E5%82%A8%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%8D%A0%E7%94%A8%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E7%9A%84%E6%80%BB%E5%A4%A7%E5%B0%8F%E5%91%A2%EF%BC%9F%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E5%86%99redo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%80%E4%B8%AA%E9%9D%9E%E5%B8%B8%E9%A2%91%E7%B9%81%E7%9A%84%E6%93%8D%E4%BD%9C%EF%BC%8C%E8%AE%BE%E8%AE%A1InnoDB%E7%9A%84%E5%A4%A7%E5%8F%94%E6%83%B3%E6%96%B9%E8%AE%BE%E6%B3%95%E6%83%B3%E5%87%8F%E5%B0%8Fredo%E6%97%A5%E5%BF%97%E6%9C%AC%E8%BA%AB%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%A4%A7%E5%B0%8F%EF%BC%8C%E6%89%80%E4%BB%A5%E6%83%B3%E4%BA%86%E4%B8%80%E4%BA%9B%E5%BC%AF%E5%BC%AF%E7%BB%95%E7%9A%84%E7%AE%97%E6%B3%95%E6%9D%A5%E5%AE%9E%E7%8E%B0%E8%BF%99%E4%B8%AA%E7%9B%AE%E6%A0%87%EF%BC%8Cend_seg_len%E8%BF%99%E4%B8%AA%E5%AD%97%E6%AE%B5%E5%B0%B1%E6%98%AF%E4%B8%BA%E4%BA%86%E8%8A%82%E7%9C%81redo%E6%97%A5%E5%BF%97%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E8%80%8C%E6%8F%90%E5%87%BA%E6%9D%A5%E7%9A%84%E3%80%82%E8%87%B3%E4%BA%8E%E5%85%B7%E4%BD%93%E8%AE%BE%E8%AE%A1InnoDB%E7%9A%84%E5%A4%A7%E5%8F%94%E5%88%B0%E5%BA%95%E6%98%AF%E7%94%A8%E4%BA%86%E4%BB%80%E4%B9%88%E7%A5%9E%E5%A5%87%E9%AD%94%E6%B3%95%E5%87%8F%E5%B0%8Fredo%E6%97%A5%E5%BF%97%E5%A4%A7%E5%B0%8F%E7%9A%84%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%99%E5%B0%B1%E4%B8%8D%E5%A4%9A%E5%94%A0%E5%8F%A8%E4%BA%86%EF%BC%8C%E5%9B%A0%E4%B8%BA%E7%9A%84%E7%A1%AE%E6%9C%89%E9%82%A3%E4%B9%88%E4%B8%80%E4%B8%A2%E4%B8%A2%E5%B0%8F%E5%A4%8D%E6%9D%82%EF%BC%8C%E8%AF%B4%E6%B8%85%E6%A5%9A%E8%BF%98%E6%98%AF%E6%9C%89%E4%B8%80%E7%82%B9%E7%82%B9%E9%BA%BB%E7%83%A6%E7%9A%84%EF%BC%8C%E8%80%8C%E4%B8%94%E8%AF%B4%E6%98%8E%E7%99%BD%E4%BA%86%E4%B9%9F%E6%B2%A1%E5%95%A5%E7%94%A8%EF%BC%9B%0A*%20mismatch_index%E7%9A%84%E5%80%BC%E4%B9%9F%E6%98%AF%E4%B8%BA%E4%BA%86%E8%8A%82%E7%9C%81redo%E6%97%A5%E5%BF%97%E7%9A%84%E5%A4%A7%E5%B0%8F%E8%80%8C%E8%AE%BE%E7%AB%8B%E7%9A%84%EF%BC%8C%E5%A4%A7%E5%AE%B6%E5%8F%AF%E4%BB%A5%E5%BF%BD%E7%95%A5%EF%BC%9B%0A%0A%0A%E5%BE%88%E6%98%BE%E7%84%B6%E8%BF%99%E4%B8%AA%E7%B1%BB%E5%9E%8B%E4%B8%BAMLOG_COMP_REC_INSERT%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%B9%B6%E6%B2%A1%E6%9C%89%E8%AE%B0%E5%BD%95PAGE_N_DIR_SLOTS%E7%9A%84%E5%80%BC%E4%BF%AE%E6%94%B9%E4%B8%BA%E4%BA%86%E5%95%A5%EF%BC%8CPAGE_HEAP_TOP%E7%9A%84%E5%80%BC%E4%BF%AE%E6%94%B9%E4%B8%BA%E4%BA%86%E5%95%A5%EF%BC%8CPAGE_N_HEAP%E7%9A%84%E5%80%BC%E4%BF%AE%E6%94%B9%E4%B8%BA%E4%BA%86%E5%95%A5%E7%AD%89%E7%AD%89%E8%BF%99%E4%BA%9B%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%80%8C%E5%8F%AA%E6%98%AF%E6%8A%8A%E5%9C%A8%E6%9C%AC%E9%A1%B5%E9%9D%A2%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E6%89%80%E6%9C%89%E5%BF%85%E5%A4%87%E7%9A%84%E8%A6%81%E7%B4%A0%E8%AE%B0%E4%BA%86%E4%B8%8B%E6%9D%A5%EF%BC%8C%E4%B9%8B%E5%90%8E%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E6%97%B6%EF%BC%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BC%9A%E8%B0%83%E7%94%A8%E7%9B%B8%E5%85%B3%E5%90%91%E6%9F%90%E4%B8%AA%E9%A1%B5%E9%9D%A2%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%E9%82%A3%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%8C%E8%80%8Credo%E6%97%A5%E5%BF%97%E4%B8%AD%E7%9A%84%E9%82%A3%E4%BA%9B%E6%95%B0%E6%8D%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E5%BD%93%E6%88%90%E6%98%AF%E8%B0%83%E7%94%A8%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E6%89%80%E9%9C%80%E7%9A%84%E5%8F%82%E6%95%B0%EF%BC%8C%E5%9C%A8%E8%B0%83%E7%94%A8%E5%AE%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84PAGE_N_DIR_SLOTS%E3%80%81PAGE_HEAP_TOP%E3%80%81PAGE_N_HEAP%E7%AD%89%E7%AD%89%E7%9A%84%E5%80%BC%E4%B9%9F%E5%B0%B1%E9%83%BD%E8%A2%AB%E6%81%A2%E5%A4%8D%E5%88%B0%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E5%89%8D%E7%9A%84%E6%A0%B7%E5%AD%90%E4%BA%86%E3%80%82%E8%BF%99%E5%B0%B1%E6%98%AF%E6%89%80%E8%B0%93%E7%9A%84%E9%80%BB%E8%BE%91%E6%97%A5%E5%BF%97%E7%9A%84%E6%84%8F%E6%80%9D%E3%80%82%0A%0A%23%23%23%201-3%20redo%E6%97%A5%E5%BF%97%E6%A0%BC%E5%BC%8F%E5%B0%8F%E7%BB%93%0A%E8%99%BD%E7%84%B6%E4%B8%8A%E8%BE%B9%E8%AF%B4%E4%BA%86%E4%B8%80%E5%A4%A7%E5%A0%86%E5%85%B3%E4%BA%8Eredo%E6%97%A5%E5%BF%97%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%8C%E4%BD%86%E6%98%AF%E5%A6%82%E6%9E%9C%E4%BD%A0%E4%B8%8D%E6%98%AF%E4%B8%BA%E4%BA%86%E5%86%99%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90redo%E6%97%A5%E5%BF%97%E7%9A%84%E5%B7%A5%E5%85%B7%E6%88%96%E8%80%85%E8%87%AA%E5%B7%B1%E5%BC%80%E5%8F%91%E4%B8%80%E5%A5%97redo%E6%97%A5%E5%BF%97%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%AF%9D%EF%BC%8C%E9%82%A3%E5%B0%B1%E6%B2%A1%E5%BF%85%E8%A6%81%E6%8A%8AInnoDB%E4%B8%AD%E7%9A%84%E5%90%84%E7%A7%8D%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%A0%BC%E5%BC%8F%E9%83%BD%E7%A0%94%E7%A9%B6%E7%9A%84%E9%80%8F%E9%80%8F%E7%9A%84%EF%BC%8C%E6%B2%A1%E9%82%A3%E4%B8%AA%E5%BF%85%E8%A6%81%E3%80%82%E4%B8%8A%E8%BE%B9%E6%88%91%E5%8F%AA%E6%98%AF%E8%B1%A1%E5%BE%81%E6%80%A7%E7%9A%84%E4%BB%8B%E7%BB%8D%E4%BA%86%E5%87%A0%E7%A7%8D%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%A0%BC%E5%BC%8F%EF%BC%8C%E7%9B%AE%E7%9A%84%E8%BF%98%E6%98%AF%E6%83%B3%E8%AE%A9%E5%A4%A7%E5%AE%B6%E6%98%8E%E7%99%BD%EF%BC%9A**redo%E6%97%A5%E5%BF%97%E4%BC%9A%E6%8A%8A%E4%BA%8B%E5%8A%A1%E5%9C%A8%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E6%89%80%E5%81%9A%E7%9A%84%E6%89%80%E6%9C%89%E4%BF%AE%E6%94%B9%E9%83%BD%E8%AE%B0%E5%BD%95%E4%B8%8B%E6%9D%A5%EF%BC%8C%E5%9C%A8%E4%B9%8B%E5%90%8E%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E5%90%8E%E5%8F%AF%E4%BB%A5%E6%8A%8A%E4%BA%8B%E5%8A%A1%E6%89%80%E5%81%9A%E7%9A%84%E4%BB%BB%E4%BD%95%E4%BF%AE%E6%94%B9%E9%83%BD%E6%81%A2%E5%A4%8D%E5%87%BA%E6%9D%A5**%E3%80%82%0A%0A%0A%E4%B8%BA%E4%BA%86%E8%8A%82%E7%9C%81redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%A4%A7%E5%B0%8F%EF%BC%8CInnoDB%E5%AF%B9redo%E6%97%A5%E5%BF%97%E4%B8%AD%E7%9A%84%E6%9F%90%E4%BA%9B%E6%95%B0%E6%8D%AE%E8%BF%98%E5%8F%AF%E8%83%BD%E8%BF%9B%E8%A1%8C%E5%8E%8B%E7%BC%A9%E5%A4%84%E7%90%86%EF%BC%8C%E6%AF%94%E6%96%B9%E8%AF%B4spacd%20ID%E5%92%8Cpage%20number%E4%B8%80%E8%88%AC%E5%8D%A0%E7%94%A84%E4%B8%AA%E5%AD%97%E8%8A%82%E6%9D%A5%E5%AD%98%E5%82%A8%EF%BC%8C%E4%BD%86%E6%98%AF%E7%BB%8F%E8%BF%87%E5%8E%8B%E7%BC%A9%E5%90%8E%EF%BC%8C%E5%8F%AF%E8%83%BD%E4%BD%BF%E7%94%A8%E6%9B%B4%E5%B0%8F%E7%9A%84%E7%A9%BA%E9%97%B4%E6%9D%A5%E5%AD%98%E5%82%A8%E3%80%82%0A%0A%0A%23%23%202%20Mini-Transaction%0A%23%23%23%202-1%20%E4%BB%A5%E7%BB%84%E7%9A%84%E5%BD%A2%E5%BC%8F%E5%86%99%E5%85%A5redo%E6%97%A5%E5%BF%97%0A%E8%AF%AD%E5%8F%A5%E5%9C%A8%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%AF%E8%83%BD%E4%BF%AE%E6%94%B9%E8%8B%A5%E5%B9%B2%E4%B8%AA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E7%94%B1%E4%BA%8E%E5%AF%B9%E8%BF%99%E4%BA%9B%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9B%B4%E6%94%B9%E9%83%BD%E5%8F%91%E7%94%9F%E5%9C%A8Buffer%20Pool%E4%B8%AD%EF%BC%8C%E6%89%80%E4%BB%A5%E5%9C%A8%E4%BF%AE%E6%94%B9%E5%AE%8C%E9%A1%B5%E9%9D%A2%E5%90%8E%EF%BC%8C%E9%9C%80%E8%A6%81%E8%AE%B0%E5%BD%95%E4%B8%80%E4%B8%8B%E7%9B%B8%E5%BA%94%E7%9A%84redo%E6%97%A5%E5%BF%97%E3%80%82%E5%9C%A8%E6%89%A7%E8%A1%8C%E8%AF%AD%E5%8F%A5%E7%9A%84%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E8%A2%ABInnoDB%E5%88%92%E5%88%86%E6%88%90%E4%BA%86%E8%8B%A5%E5%B9%B2%E4%B8%AA%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%E7%BB%84%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%0A%0A*%20%E6%9B%B4%E6%96%B0**Max%20Row%20ID**%E5%B1%9E%E6%80%A7%E6%97%B6%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%EF%BC%9B%0A*%20%E5%90%91%E8%81%9A%E7%B0%87%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E9%A1%B5%E9%9D%A2%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E6%97%B6%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%EF%BC%9B%0A*%20%E5%90%91%E6%9F%90%E4%B8%AA%E4%BA%8C%E7%BA%A7%E7%B4%A2%E5%BC%95%E5%AF%B9%E4%BA%8E%E7%9A%84B%2B%E6%A0%91%E9%A1%B5%E9%9D%A2%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E6%97%B6%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%EF%BC%9B%0A*%20%E8%BF%98%E6%9C%89%E5%85%B6%E4%BB%96%E7%9A%84%E4%B8%80%E4%BA%9B%E5%AF%B9%E9%A1%B5%E9%9D%A2%E7%9A%84%E8%AE%BF%E9%97%AE%E6%93%8D%E4%BD%9C%E6%97%B6%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%E3%80%82%0A%0A%E6%80%8E%E4%B9%88%E7%90%86%E8%A7%A3%E8%BF%99%E4%B8%AA**%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2**%E5%91%A2%EF%BC%9F%E4%BB%A5%E5%90%91%E6%9F%90%E4%B8%AA%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E4%B8%BA%E4%BE%8B%EF%BC%8C%E5%9C%A8%E5%90%91B%2B%E6%A0%91%E4%B8%AD%E6%8F%92%E5%85%A5%E8%BF%99%E6%9D%A1%E8%AE%B0%E5%BD%95%E4%B9%8B%E5%89%8D%EF%BC%8C%E9%9C%80%E8%A6%81%E5%85%88%E5%AE%9A%E4%BD%8D%E5%88%B0%E8%BF%99%E6%9D%A1%E8%AE%B0%E5%BD%95%E5%BA%94%E8%AF%A5%E8%A2%AB%E6%8F%92%E5%85%A5%E5%88%B0%E5%93%AA%E4%B8%AA%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E9%A1%B5%E4%B8%AD%EF%BC%8C%E5%AE%9A%E4%BD%8D%E5%88%B0%E5%85%B7%E4%BD%93%E7%9A%84%E6%95%B0%E6%8D%AE%E9%A1%B5%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%9C%89%E4%B8%A4%E7%A7%8D%E5%8F%AF%E8%83%BD%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%9A%0A%0A*%20%E6%83%85%E5%86%B5%E4%B8%80%EF%BC%9A%E8%AF%A5%E6%95%B0%E6%8D%AE%E9%A1%B5%E7%9A%84%E5%89%A9%E4%BD%99%E7%9A%84%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E5%85%85%E8%B6%B3%EF%BC%8C%E8%B6%B3%E5%A4%9F%E5%AE%B9%E7%BA%B3%E8%BF%99%E4%B8%80%E6%9D%A1%E5%BE%85%E6%8F%92%E5%85%A5%E8%AE%B0%E5%BD%95%EF%BC%8C%E9%82%A3%E4%B9%88%E4%BA%8B%E6%83%85%E5%BE%88%E7%AE%80%E5%8D%95%EF%BC%8C%E7%9B%B4%E6%8E%A5%E6%8A%8A%E8%AE%B0%E5%BD%95%E6%8F%92%E5%85%A5%E5%88%B0%E8%BF%99%E4%B8%AA%E6%95%B0%E6%8D%AE%E9%A1%B5%E4%B8%AD%EF%BC%8C%E8%AE%B0%E5%BD%95%E4%B8%80%E6%9D%A1%E7%B1%BB%E5%9E%8B%E4%B8%BA**MLOG_COMP_REC_INSERT%E7%9A%84redo%E6%97%A5%E5%BF%97**%E5%B0%B1%E5%A5%BD%E4%BA%86%EF%BC%8C%E6%88%91%E4%BB%AC%E6%8A%8A%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E7%A7%B0%E4%B9%8B%E4%B8%BA**%E4%B9%90%E8%A7%82%E6%8F%92%E5%85%A5**%E3%80%82%E5%81%87%E5%A6%82%E6%9F%90%E4%B8%AA%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E9%95%BF%E8%BF%99%E6%A0%B7%EF%BC%9A!%5B9906274c1955ebe1e92512ae6bfc716a.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F955%3A1)%0A%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E8%A6%81%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E9%94%AE%E5%80%BC%E4%B8%BA10%E7%9A%84%E8%AE%B0%E5%BD%95%EF%BC%8C%E5%BE%88%E6%98%BE%E7%84%B6%E9%9C%80%E8%A6%81%E8%A2%AB%E6%8F%92%E5%85%A5%E5%88%B0%E9%A1%B5b%E4%B8%AD%EF%BC%8C%E7%94%B1%E4%BA%8E%E9%A1%B5b%E7%8E%B0%E5%9C%A8%E6%9C%89%E8%B6%B3%E5%A4%9F%E7%9A%84%E7%A9%BA%E9%97%B4%E5%AE%B9%E7%BA%B3%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E6%89%80%E4%BB%A5%E7%9B%B4%E6%8E%A5%E5%B0%86%E8%AF%A5%E8%AE%B0%E5%BD%95%E6%8F%92%E5%85%A5%E5%88%B0%E9%A1%B5b%E4%B8%AD%E5%B0%B1%E5%A5%BD%E4%BA%86%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A!%5Bdb5d48f125b68699db1878ed999d0184.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F957%3A1)%0A%0A*%20%E6%83%85%E5%86%B5%E4%BA%8C%EF%BC%9A%E8%AF%A5%E6%95%B0%E6%8D%AE%E9%A1%B5%E5%89%A9%E4%BD%99%E7%9A%84%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3%EF%BC%8C%E9%81%87%E5%88%B0%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E8%A6%81%E8%BF%9B%E8%A1%8C**%E9%A1%B5%E5%88%86%E8%A3%82**%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E6%96%B0%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%EF%BC%8C%E7%84%B6%E5%90%8E%E6%8A%8A%E5%8E%9F%E5%85%88%E6%95%B0%E6%8D%AE%E9%A1%B5%E4%B8%AD%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%E8%AE%B0%E5%BD%95%E5%A4%8D%E5%88%B6%E5%88%B0%E8%BF%99%E4%B8%AA%E6%96%B0%E7%9A%84%E6%95%B0%E6%8D%AE%E9%A1%B5%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%8A%8A%E8%AE%B0%E5%BD%95%E6%8F%92%E5%85%A5%E8%BF%9B%E5%8E%BB%EF%BC%8C%E6%8A%8A%E8%BF%99%E4%B8%AA%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E6%8F%92%E5%85%A5%E5%88%B0%E5%8F%B6%E5%AD%90%E8%8A%82%E7%82%B9%E9%93%BE%E8%A1%A8%E4%B8%AD%EF%BC%8C%E6%9C%80%E5%90%8E%E8%BF%98%E8%A6%81%E5%9C%A8%E5%86%85%E8%8A%82%E7%82%B9%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%B8%80%E6%9D%A1**%E7%9B%AE%E5%BD%95%E9%A1%B9%E8%AE%B0%E5%BD%95**%E6%8C%87%E5%90%91%E8%BF%99%E4%B8%AA%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B5%E9%9D%A2%EF%BC%8C%E5%BE%88%E6%98%BE%E7%84%B6%EF%BC%8C%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E8%A6%81%E5%AF%B9%E5%A4%9A%E4%B8%AA%E9%A1%B5%E9%9D%A2%E8%BF%9B%E8%A1%8C%E4%BF%AE%E6%94%B9%EF%BC%8C%E6%84%8F%E5%91%B3%E7%9D%80%E4%BC%9A%E4%BA%A7%E7%94%9F%E5%A4%9A%E6%9D%A1**redo%E6%97%A5%E5%BF%97**%EF%BC%8C%E6%8A%8A%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E7%A7%B0%E4%B9%8B%E4%B8%BA**%E6%82%B2%E8%A7%82%E6%8F%92%E5%85%A5**%E3%80%82%E5%8A%A0%E5%85%A5%E6%9F%90%E4%B8%AA%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E4%B8%BA%EF%BC%9A%0A!%5B4ef66df61db530f1ef837603871477d3.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F959%3A1)%0A%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E8%A6%81%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E9%94%AE%E5%80%BC%E4%B8%BA10%E7%9A%84%E8%AE%B0%E5%BD%95%EF%BC%8C%E5%BE%88%E6%98%BE%E7%84%B6%E9%9C%80%E8%A6%81%E8%A2%AB%E6%8F%92%E5%85%A5%E5%88%B0%E9%A1%B5b%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%98%AF%E4%BB%8E%E5%9B%BE%E4%B8%AD%E4%B9%9F%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%87%BA%E6%9D%A5%EF%BC%8C%E6%AD%A4%E6%97%B6%E9%A1%B5b%E5%B7%B2%E7%BB%8F%E5%A1%9E%E6%BB%A1%E4%BA%86%E8%AE%B0%E5%BD%95%EF%BC%8C%E6%B2%A1%E6%9C%89%E6%9B%B4%E5%A4%9A%E7%9A%84%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E6%9D%A5%E5%AE%B9%E7%BA%B3%E8%BF%99%E6%9D%A1%E6%96%B0%E8%AE%B0%E5%BD%95%E4%BA%86%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E8%BF%9B%E8%A1%8C%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%88%86%E8%A3%82%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A!%5Babc41de2eaa755e4d5d8f266f6f42fa0.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F961%3A1)%0A%E5%A6%82%E6%9E%9C%E4%BD%9C%E4%B8%BA%E5%86%85%E8%8A%82%E7%82%B9%E7%9A%84%E9%A1%B5a%E7%9A%84%E5%89%A9%E4%BD%99%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E4%B9%9F%E4%B8%8D%E8%B6%B3%E4%BB%A5%E5%AE%B9%E7%BA%B3%E5%A2%9E%E5%8A%A0%E4%B8%80%E6%9D%A1%E7%9B%AE%E5%BD%95%E9%A1%B9%E8%AE%B0%E5%BD%95%EF%BC%8C%E9%82%A3%E9%9C%80%E8%A6%81%E7%BB%A7%E7%BB%AD%E5%81%9A%E5%86%85%E8%8A%82%E7%82%B9%E9%A1%B5a%E7%9A%84%E5%88%86%E8%A3%82%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%84%8F%E5%91%B3%E7%9D%80%E4%BC%9A%E4%BF%AE%E6%94%B9%E6%9B%B4%E5%A4%9A%E7%9A%84%E9%A1%B5%E9%9D%A2%EF%BC%8C%E4%BB%8E%E8%80%8C%E4%BA%A7%E7%94%9F%E6%9B%B4%E5%A4%9A%E7%9A%84redo%E6%97%A5%E5%BF%97%E3%80%82%E5%8F%A6%E5%A4%96%EF%BC%8C%E5%AF%B9%E4%BA%8E%E6%82%B2%E8%A7%82%E6%8F%92%E5%85%A5%E6%9D%A5%E8%AF%B4%EF%BC%8C%E7%94%B1%E4%BA%8E%E9%9C%80%E8%A6%81%E6%96%B0%E7%94%B3%E8%AF%B7%E6%95%B0%E6%8D%AE%E9%A1%B5%EF%BC%8C%E8%BF%98%E9%9C%80%E8%A6%81%E6%94%B9%E5%8A%A8%E4%B8%80%E4%BA%9B%E7%B3%BB%E7%BB%9F%E9%A1%B5%E9%9D%A2%EF%BC%8C%E6%AF%94%E6%96%B9%E8%AF%B4%E8%A6%81%E4%BF%AE%E6%94%B9%E5%90%84%E7%A7%8D%E6%AE%B5%E3%80%81%E5%8C%BA%E7%9A%84%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%90%84%E7%A7%8D%E9%93%BE%E8%A1%A8%E7%9A%84%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF%EF%BC%88%E6%AF%94%E5%A6%82%E4%BB%80%E4%B9%88FREE%E9%93%BE%E8%A1%A8%E3%80%81FSP_FREE_FRAG%E9%93%BE%E8%A1%A8%E5%90%A7%E5%95%A6%E5%90%A7%E5%95%A6%E6%88%91%E4%BB%AC%E5%9C%A8%E5%94%A0%E5%8F%A8%E8%A1%A8%E7%A9%BA%E9%97%B4%E9%82%A3%E4%B8%80%E7%AB%A0%E4%B8%AD%E4%BB%8B%E7%BB%8D%E8%BF%87%E7%9A%84%E5%90%84%E7%A7%8D%E4%B8%9C%E4%B8%9C%EF%BC%89%E7%AD%89%E7%AD%89%E7%AD%89%E7%AD%89%EF%BC%8C%E5%8F%8D%E6%AD%A3%E6%80%BB%E5%85%B1%E9%9C%80%E8%A6%81%E8%AE%B0%E5%BD%95%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%9C%89%E4%BA%8C%E3%80%81%E4%B8%89%E5%8D%81%E6%9D%A1%E3%80%82%0A%0A%0AInnoDB%E8%AE%A4%E4%B8%BA%E5%90%91%E6%9F%90%E4%B8%AA%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E5%BF%85%E9%A1%BB%E6%98%AF%E5%8E%9F%E5%AD%90%E7%9A%84%EF%BC%8C%E4%B8%8D%E8%83%BD%E8%AF%B4%E6%8F%92%E4%BA%86%E4%B8%80%E5%8D%8A%E4%B9%8B%E5%90%8E%E5%B0%B1%E5%81%9C%E6%AD%A2%E4%BA%86%E3%80%82%E6%AF%94%E6%96%B9%E8%AF%B4%E5%9C%A8%E6%82%B2%E8%A7%82%E6%8F%92%E5%85%A5%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8C%E6%96%B0%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%B7%B2%E7%BB%8F%E5%88%86%E9%85%8D%E5%A5%BD%E4%BA%86%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%B9%9F%E5%A4%8D%E5%88%B6%E8%BF%87%E5%8E%BB%E4%BA%86%EF%BC%8C%E6%96%B0%E7%9A%84%E8%AE%B0%E5%BD%95%E4%B9%9F%E6%8F%92%E5%85%A5%E5%88%B0%E9%A1%B5%E9%9D%A2%E4%B8%AD%E4%BA%86%EF%BC%8C%E5%8F%AF%E6%98%AF%E6%B2%A1%E6%9C%89%E5%90%91%E5%86%85%E8%8A%82%E7%82%B9%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E7%9B%AE%E5%BD%95%E9%A1%B9%E8%AE%B0%E5%BD%95%EF%BC%8C%E8%BF%99%E4%B8%AA%E6%8F%92%E5%85%A5%E8%BF%87%E7%A8%8B%E5%B0%B1%E6%98%AF%E4%B8%8D%E5%AE%8C%E6%95%B4%E7%9A%84%EF%BC%8C%E8%BF%99%E6%A0%B7%E4%BC%9A%E5%BD%A2%E6%88%90%E4%B8%80%E6%A3%B5%E4%B8%8D%E6%AD%A3%E7%A1%AE%E7%9A%84B%2B%E6%A0%91%E3%80%82redo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E6%97%B6%E6%81%A2%E5%A4%8D%E5%B4%A9%E6%BA%83%E5%89%8D%E7%9A%84%E7%8A%B6%E6%80%81%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%9C%A8%E6%82%B2%E8%A7%82%E6%8F%92%E5%85%A5%E7%9A%84%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%AA%E8%AE%B0%E5%BD%95%E4%BA%86%E4%B8%80%E9%83%A8%E5%88%86redo%E6%97%A5%E5%BF%97%EF%BC%8C%E9%82%A3%E4%B9%88%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E6%97%B6%E4%BC%9A%E5%B0%86%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E6%81%A2%E5%A4%8D%E6%88%90%E4%B8%80%E7%A7%8D%E4%B8%8D%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%8A%B6%E6%80%81%EF%BC%8C%E8%BF%99%E6%98%AFInnoDB%E6%89%80%E4%B8%8D%E8%83%BD%E5%BF%8D%E5%8F%97%E7%9A%84%E3%80%82%E6%89%80%E4%BB%A5%E8%A7%84%E5%AE%9A%E5%9C%A8%E6%89%A7%E8%A1%8C%E8%BF%99%E4%BA%9B%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81**%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C**%E6%97%B6%E5%BF%85%E9%A1%BB%E4%BB%A5**%E7%BB%84**%E7%9A%84%E5%BD%A2%E5%BC%8F%E6%9D%A5%E8%AE%B0%E5%BD%95%E7%9A%84**redo%E6%97%A5%E5%BF%97**%EF%BC%8C%E5%9C%A8%E8%BF%9B%E8%A1%8C%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E6%81%A2%E5%A4%8D%E6%97%B6%EF%BC%8C**%E9%92%88%E5%AF%B9%E6%9F%90%E4%B8%AA%E7%BB%84%E4%B8%AD%E7%9A%84redo%E6%97%A5%E5%BF%97**%EF%BC%8C%E8%A6%81%E4%B9%88%E6%8A%8A%E5%85%A8%E9%83%A8%E7%9A%84%E6%97%A5%E5%BF%97%E9%83%BD%E6%81%A2%E5%A4%8D%E6%8E%89%EF%BC%8C%E8%A6%81%E4%B9%88%E4%B8%80%E6%9D%A1%E4%B9%9F%E4%B8%8D%E6%81%A2%E5%A4%8D%E3%80%82%E6%80%8E%E4%B9%88%E5%81%9A%E5%88%B0%E7%9A%84%E5%91%A2%EF%BC%9F%E8%BF%99%E5%BE%97%E5%88%86%E6%83%85%E5%86%B5%E8%AE%A8%E8%AE%BA%EF%BC%9A%0A%0A*%20%E6%9C%89%E7%9A%84%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E4%BC%9A%E7%94%9F%E6%88%90%E5%A4%9A%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E6%AF%94%E5%A6%82%E5%90%91%E6%9F%90%E4%B8%AA%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E4%B8%AD%E8%BF%9B%E8%A1%8C%E4%B8%80%E6%AC%A1%E6%82%B2%E8%A7%82%E6%8F%92%E5%85%A5%E5%B0%B1%E9%9C%80%E8%A6%81%E7%94%9F%E6%88%90%E8%AE%B8%E5%A4%9A%E6%9D%A1redo%E6%97%A5%E5%BF%97%E3%80%82%0A%E5%A6%82%E4%BD%95%E6%8A%8A%E8%BF%99%E4%BA%9Bredo%E6%97%A5%E5%BF%97%E5%88%92%E5%88%86%E5%88%B0%E4%B8%80%E4%B8%AA%E7%BB%84%E9%87%8C%E8%BE%B9%E5%84%BF%E5%91%A2%EF%BC%9F%0A%E5%B0%B1%E6%98%AF%E5%9C%A8%E8%AF%A5%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9C%80%E5%90%8E%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E5%90%8E%E8%BE%B9%E5%8A%A0%E4%B8%8A%E4%B8%80%E6%9D%A1%E7%89%B9%E6%AE%8A%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E8%AF%A5%E7%B1%BB%E5%9E%8B%E5%90%8D%E7%A7%B0%E4%B8%BA**MLOG_MULTI_REC_END**%EF%BC%8C**type**%E5%AD%97%E6%AE%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%E6%95%B0%E5%AD%97%E4%B8%BA**31**%EF%BC%8C%E8%AF%A5%E7%B1%BB%E5%9E%8B%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%BB%93%E6%9E%84%E5%BE%88%E7%AE%80%E5%8D%95%EF%BC%8C%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AAtype%E5%AD%97%E6%AE%B5%EF%BC%9A!%5Be3fc7893bf8fa4ba8f1940a32d05e2aa.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F963%3A1)%0A%E6%89%80%E4%BB%A5%E6%9F%90%E4%B8%AA%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B8%80%E7%B3%BB%E5%88%97redo%E6%97%A5%E5%BF%97%E5%BF%85%E9%A1%BB%E8%A6%81%E4%BB%A5%E4%B8%80%E4%B8%AA%E7%B1%BB%E5%9E%8B%E4%B8%BAMLOG_MULTI_REC_END%E7%BB%93%E5%B0%BE%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A!%5Bb84d88b2f26f81c9de81ca846552ebfa.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F965%3A1)%0A%E8%BF%99%E6%A0%B7%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E9%87%8D%E5%90%AF%E8%BF%9B%E8%A1%8C%E6%81%A2%E5%A4%8D%E6%97%B6%EF%BC%8C**%E5%8F%AA%E6%9C%89%E5%BD%93%E8%A7%A3%E6%9E%90%E5%88%B0%E7%B1%BB%E5%9E%8B%E4%B8%BAMLOG_MULTI_REC_END%E7%9A%84redo%E6%97%A5%E5%BF%97**%EF%BC%8C%E6%89%8D%E8%AE%A4%E4%B8%BA%E8%A7%A3%E6%9E%90%E5%88%B0%E4%BA%86**%E4%B8%80%E7%BB%84%E5%AE%8C%E6%95%B4%E7%9A%84redo%E6%97%A5%E5%BF%97**%EF%BC%8C%E6%89%8D%E4%BC%9A%E8%BF%9B%E8%A1%8C%E6%81%A2%E5%A4%8D%E3%80%82%E5%90%A6%E5%88%99%E7%9A%84%E8%AF%9D%E7%9B%B4%E6%8E%A5%E6%94%BE%E5%BC%83%E5%89%8D%E8%BE%B9%E8%A7%A3%E6%9E%90%E5%88%B0%E7%9A%84redo%E6%97%A5%E5%BF%97%E3%80%82%0A%0A*%20%E6%9C%89%E7%9A%84%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E5%8F%AA%E7%94%9F%E6%88%90%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E6%AF%94%E5%A6%82%E6%9B%B4%E6%96%B0Max%20Row%20ID%E5%B1%9E%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E5%B0%B1%E5%8F%AA%E4%BC%9A%E7%94%9F%E6%88%90%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E3%80%82%0A%E5%85%B6%E5%AE%9E%E5%9C%A8%E4%B8%80%E6%9D%A1%E6%97%A5%E5%BF%97%E5%90%8E%E8%BE%B9%E8%B7%9F%E4%B8%80%E4%B8%AA%E7%B1%BB%E5%9E%8B%E4%B8%BAMLOG_MULTI_REC_END%E7%9A%84redo%E6%97%A5%E5%BF%97%E4%B9%9F%E6%98%AF%E5%8F%AF%E4%BB%A5%E7%9A%84%EF%BC%8C%E4%B8%8D%E8%BF%87%E8%AE%BE%E8%AE%A1InnoDB%E7%9A%84%E5%A4%A7%E5%8F%94%E6%AF%94%E8%BE%83%E5%8B%A4%E4%BF%AD%E8%8A%82%E7%BA%A6%EF%BC%8C%E4%BB%96%E4%BB%AC%E4%B8%8D%E6%83%B3%E6%B5%AA%E8%B4%B9%E4%B8%80%E4%B8%AA%E6%AF%94%E7%89%B9%E4%BD%8D%E3%80%82%E5%88%AB%E5%BF%98%E4%BA%86%E8%99%BD%E7%84%B6redo%E6%97%A5%E5%BF%97%E7%9A%84%E7%B1%BB%E5%9E%8B%E6%AF%94%E8%BE%83%E5%A4%9A%EF%BC%8C%E4%BD%86%E6%92%91%E6%AD%BB%E4%BA%86%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%87%A0%E5%8D%81%E7%A7%8D%EF%BC%8C%E6%98%AF%E5%B0%8F%E4%BA%8E127%E8%BF%99%E4%B8%AA%E6%95%B0%E5%AD%97%E7%9A%84%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E6%88%91%E4%BB%AC%E7%94%A87%E4%B8%AA%E6%AF%94%E7%89%B9%E4%BD%8D%E5%B0%B1%E8%B6%B3%E4%BB%A5%E5%8C%85%E6%8B%AC%E6%89%80%E6%9C%89%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%B1%BB%E5%9E%8B%EF%BC%8C%E8%80%8Ctype%E5%AD%97%E6%AE%B5%E5%85%B6%E5%AE%9E%E6%98%AF%E5%8D%A0%E7%94%A81%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%9C%81%E5%87%BA%E6%9D%A5%E4%B8%80%E4%B8%AA%E6%AF%94%E7%89%B9%E4%BD%8D%E7%94%A8%E6%9D%A5%E8%A1%A8%E7%A4%BA%E8%AF%A5%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E5%8F%AA%E4%BA%A7%E7%94%9F%E5%8D%95%E4%B8%80%E7%9A%84%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E7%A4%BA%E6%84%8F%E5%9B%BE%E5%A6%82%E4%B8%8B%EF%BC%9A!%5B69c5547e68e197aaf83dc451ddbfba9f.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F967%3A1)%0A%E5%A6%82%E6%9E%9C**type%E5%AD%97%E6%AE%B5%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%AF%94%E7%89%B9%E4%BD%8D%E4%B8%BA1**%EF%BC%8C%E4%BB%A3%E8%A1%A8%E8%AF%A5%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E5%8F%AA%E4%BA%A7%E7%94%9F%E4%BA%86%E5%8D%95%E4%B8%80%E7%9A%84%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%90%A6%E5%88%99%E8%A1%A8%E7%A4%BA%E8%AF%A5%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%8E%9F%E5%AD%90%E6%80%A7%E7%9A%84%E6%93%8D%E4%BD%9C%E4%BA%A7%E7%94%9F%E4%BA%86%E4%B8%80%E7%B3%BB%E5%88%97%E7%9A%84redo%E6%97%A5%E5%BF%97%E3%80%82%0A%0A%23%23%23%202-2%20Mini-Transaction%E7%9A%84%E6%A6%82%E5%BF%B5%0A%0AMySQL%E6%8A%8A%E5%AF%B9%E5%BA%95%E5%B1%82%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84%E4%B8%80%E6%AC%A1%E5%8E%9F%E5%AD%90%E8%AE%BF%E9%97%AE%E7%9A%84%E8%BF%87%E7%A8%8B%E7%A7%B0%E4%B9%8B%E4%B8%BA%E4%B8%80%E4%B8%AA**Mini-Transaction**%EF%BC%8C%E7%AE%80%E7%A7%B0**mtr**%E3%80%82%0A%0A%E6%AF%94%E5%A6%82%E4%B8%8A%E8%BE%B9%E6%89%80%E8%AF%B4%E7%9A%84%E4%BF%AE%E6%94%B9%E4%B8%80%E6%AC%A1Max%20Row%20ID%E7%9A%84%E5%80%BC%E7%AE%97%E6%98%AF%E4%B8%80%E4%B8%AAMini-Transaction%EF%BC%8C%E5%90%91%E6%9F%90%E4%B8%AA%E7%B4%A2%E5%BC%95%E5%AF%B9%E5%BA%94%E7%9A%84B%2B%E6%A0%91%E4%B8%AD%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%E8%BF%87%E7%A8%8B%E4%B9%9F%E7%AE%97%E6%98%AF%E4%B8%80%E4%B8%AAMini-Transaction%E3%80%82%E9%80%9A%E8%BF%87%E4%B8%8A%E8%BE%B9%E7%9A%84%E5%8F%99%E8%BF%B0%E6%88%91%E4%BB%AC%E4%B9%9F%E7%9F%A5%E9%81%93%EF%BC%8C%E4%B8%80%E4%B8%AA%E6%89%80%E8%B0%93%E7%9A%84mtr%E5%8F%AF%E4%BB%A5%E5%8C%85%E5%90%AB%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%9C%A8%E8%BF%9B%E8%A1%8C%E5%A5%94%E6%BA%83%E6%81%A2%E5%A4%8D%E6%97%B6%E8%BF%99%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E4%BD%9C%E4%B8%BA%E4%B8%80%E4%B8%AA%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%E6%95%B4%E4%BD%93%E3%80%82%0A%0A**%E4%B8%80%E4%B8%AA%E4%BA%8B%E5%8A%A1%E5%8F%AF%E4%BB%A5%E5%8C%85%E5%90%AB%E8%8B%A5%E5%B9%B2%E6%9D%A1%E8%AF%AD%E5%8F%A5%EF%BC%8C%E6%AF%8F%E4%B8%80%E6%9D%A1%E8%AF%AD%E5%8F%A5%E5%85%B6%E5%AE%9E%E6%98%AF%E7%94%B1%E8%8B%A5%E5%B9%B2%E4%B8%AAmtr%E7%BB%84%E6%88%90%EF%BC%8C%E6%AF%8F%E4%B8%80%E4%B8%AAmtr%E5%8F%88%E5%8F%AF%E4%BB%A5%E5%8C%85%E5%90%AB%E8%8B%A5%E5%B9%B2%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E7%94%BB%E4%B8%AA%E5%9B%BE%E8%A1%A8%E7%A4%BA%E5%AE%83%E4%BB%AC%E7%9A%84%E5%85%B3%E7%B3%BB%E5%B0%B1%E6%98%AF%E8%BF%99%E6%A0%B7**%EF%BC%9A!%5B08f1ac0f54cbcdb5015920017c98636b.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F969%3A1)%0A%0A%0A%23%23%203%20redo%E6%97%A5%E5%BF%97%E7%9A%84%E5%86%99%E5%85%A5%E8%BF%87%E7%A8%8B%0A%0A%23%23%23%203-1%20redo%20log%20block%0AInnoDB%E4%B8%BA%E4%BA%86%E6%9B%B4%E5%A5%BD%E7%9A%84%E8%BF%9B%E8%A1%8C%E7%B3%BB%E7%BB%9F%E5%B4%A9%E6%BA%83%E6%81%A2%E5%A4%8D%EF%BC%8C**%E6%8A%8A%E9%80%9A%E8%BF%87mtr%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E6%94%BE%E5%9C%A8%E5%A4%A7%E5%B0%8F%E4%B8%BA512%E5%AD%97%E8%8A%82%E7%9A%84%E9%A1%B5%E4%B8%AD**%EF%BC%8C%E4%B8%BA%E4%BA%86%E5%92%8C%E6%88%91%E4%BB%AC%E5%89%8D%E8%BE%B9%E6%8F%90%E5%88%B0%E7%9A%84%E8%A1%A8%E7%A9%BA%E9%97%B4%E4%B8%AD%E7%9A%84%E9%A1%B5%E5%81%9A%E5%8C%BA%E5%88%AB%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%99%E9%87%8C%E6%8A%8A%E7%94%A8%E6%9D%A5%E5%AD%98%E5%82%A8redo%E6%97%A5%E5%BF%97%E7%9A%84%E9%A1%B5%E7%A7%B0%E4%B8%BAblock%EF%BC%88%E4%BD%A0%E5%BF%83%E9%87%8C%E6%B8%85%E6%A5%9A%E9%A1%B5%E5%92%8Cblock%E7%9A%84%E6%84%8F%E6%80%9D%E5%85%B6%E5%AE%9E%E5%B7%AE%E4%B8%8D%E5%A4%9A%E5%B0%B1%E8%A1%8C%E4%BA%86%EF%BC%89%E3%80%82%E4%B8%80%E4%B8%AAredo%20log%20block%E7%9A%84%E7%A4%BA%E6%84%8F%E5%9B%BE%E5%A6%82%E4%B8%8B%EF%BC%9A!%5B3b47d225145353e3e087b66958a47e8c.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F971%3A1)%0A%E7%9C%9F%E6%AD%A3%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E6%98%AF%E5%AD%98%E5%82%A8%E5%88%B0%E5%8D%A0%E7%94%A8496%E5%AD%97%E8%8A%82%E5%A4%A7%E5%B0%8F%E7%9A%84log%20block%20body%E4%B8%AD%EF%BC%8C%E5%9B%BE%E4%B8%AD%E7%9A%84log%20block%20header%E5%92%8Clog%20block%20trailer%E5%AD%98%E5%82%A8%E7%9A%84%E6%98%AF%E4%B8%80%E4%BA%9B%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%E3%80%82%E6%88%91%E4%BB%AC%E6%9D%A5%E7%9C%8B%E7%9C%8B%E8%BF%99%E4%BA%9B%E6%89%80%E8%B0%93%E7%9A%84%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%E9%83%BD%E6%98%AF%E5%95%A5%EF%BC%9A%0A!%5B954f6c1c97f0c58500d28c7807a9dff2.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F973%3A1)%0A%0Alog%20block%20header%E4%B8%AD%E5%B1%9E%E6%80%A7%E7%9A%84%E6%84%8F%E6%80%9D%E5%A6%82%E4%B8%8B%EF%BC%9A%0A%0A*%20**LOG_BLOCK_HDR_NO**%EF%BC%9A%E6%AF%8F%E4%B8%AAblock%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E5%A4%A7%E4%BA%8E0%E7%9A%84%E5%94%AF%E4%B8%80%E6%A0%87%E5%8F%B7%EF%BC%8C%E6%9C%AC%E5%B1%9E%E6%80%A7%E5%B0%B1%E8%A1%A8%E7%A4%BA%E8%AF%A5%E6%A0%87%E5%8F%B7%E5%80%BC%EF%BC%9B%0A*%20**LOG_BLOCK_HDR_DATA_LEN**%EF%BC%9A%E8%A1%A8%E7%A4%BAblock%E4%B8%AD%E5%B7%B2%E7%BB%8F%E4%BD%BF%E7%94%A8%E4%BA%86%E5%A4%9A%E5%B0%91%E5%AD%97%E8%8A%82%EF%BC%8C%E5%88%9D%E5%A7%8B%E5%80%BC%E4%B8%BA12%EF%BC%88%E5%9B%A0%E4%B8%BAlog%20block%20body%E4%BB%8E%E7%AC%AC12%E4%B8%AA%E5%AD%97%E8%8A%82%E5%A4%84%E5%BC%80%E5%A7%8B%EF%BC%89%E3%80%82%E9%9A%8F%E7%9D%80%E5%BE%80block%E4%B8%AD%E5%86%99%E5%85%A5%E7%9A%84redo%E6%97%A5%E5%BF%97%E8%B6%8A%E6%9D%A5%E4%B9%9F%E5%A4%9A%EF%BC%8C%E6%9C%AC%E5%B1%9E%E6%80%A7%E5%80%BC%E4%B9%9F%E8%B7%9F%E7%9D%80%E5%A2%9E%E9%95%BF%E3%80%82%E5%A6%82%E6%9E%9Clog%20block%20body%E5%B7%B2%E7%BB%8F%E8%A2%AB%E5%85%A8%E9%83%A8%E5%86%99%E6%BB%A1%EF%BC%8C%E9%82%A3%E4%B9%88%E6%9C%AC%E5%B1%9E%E6%80%A7%E7%9A%84%E5%80%BC%E8%A2%AB%E8%AE%BE%E7%BD%AE%E4%B8%BA512%EF%BC%9B%0A*%20**LOG_BLOCK_FIRST_REC_GROUP**%EF%BC%9A%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E4%B9%9F%E5%8F%AF%E4%BB%A5%E7%A7%B0%E4%B9%8B%E4%B8%BA%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%EF%BC%88redo%20log%20record%EF%BC%89%EF%BC%8C%E4%B8%80%E4%B8%AAmtr%E4%BC%9A%E7%94%9F%E4%BA%A7%E5%A4%9A%E6%9D%A1redo%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%EF%BC%8C%E8%BF%99%E4%BA%9Bredo%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E8%A2%AB%E7%A7%B0%E4%B9%8B%E4%B8%BA%E4%B8%80%E4%B8%AAredo%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E7%BB%84%EF%BC%88redo%20log%20record%20group%EF%BC%89%E3%80%82LOG_BLOCK_FIRST_REC_GROUP%E5%B0%B1%E4%BB%A3%E8%A1%A8%E8%AF%A5block%E4%B8%AD%E7%AC%AC%E4%B8%80%E4%B8%AAmtr%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E7%BB%84%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8F%EF%BC%88%E5%85%B6%E5%AE%9E%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%BF%99%E4%B8%AAblock%E9%87%8C%E7%AC%AC%E4%B8%80%E4%B8%AAmtr%E7%94%9F%E6%88%90%E7%9A%84%E7%AC%AC%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8F%EF%BC%89%EF%BC%9B%0A*%20**LOG_BLOCK_CHECKPOINT_NO**%EF%BC%9A%E8%A1%A8%E7%A4%BA%E6%89%80%E8%B0%93%E7%9A%84checkpoint%E7%9A%84%E5%BA%8F%E5%8F%B7%EF%BC%8Ccheckpoint%E6%98%AF%E6%88%91%E4%BB%AC%E5%90%8E%E7%BB%AD%E5%86%85%E5%AE%B9%E7%9A%84%E9%87%8D%E7%82%B9%EF%BC%8C%E7%8E%B0%E5%9C%A8%E5%85%88%E4%B8%8D%E7%94%A8%E6%B8%85%E6%A5%9A%E5%AE%83%E7%9A%84%E6%84%8F%E6%80%9D%EF%BC%8C%E7%A8%8D%E5%AE%89%E5%8B%BF%E8%BA%81%EF%BC%9B%0A%0A%0Alog%20block%20trailer%E4%B8%AD%E5%B1%9E%E6%80%A7%E7%9A%84%E6%84%8F%E6%80%9D%E5%A6%82%E4%B8%8B%EF%BC%9A%0A%0A*%20**LOG_BLOCK_CHECKSUM**%EF%BC%9A%E8%A1%A8%E7%A4%BAblock%E7%9A%84%E6%A0%A1%E9%AA%8C%E5%80%BC%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%AD%A3%E7%A1%AE%E6%80%A7%E6%A0%A1%E9%AA%8C%EF%BC%8C%E6%88%91%E4%BB%AC%E6%9A%82%E6%97%B6%E4%B8%8D%E5%85%B3%E5%BF%83%E5%AE%83%E3%80%82%0A%0A%23%23%23%203-2%20redo%E6%97%A5%E5%BF%97%E7%BC%93%E5%86%B2%E5%8C%BA%0AInnoDB%E4%B8%BA%E4%BA%86%E8%A7%A3%E5%86%B3%E7%A3%81%E7%9B%98%E9%80%9F%E5%BA%A6%E8%BF%87%E6%85%A2%E7%9A%84%E9%97%AE%E9%A2%98%E8%80%8C%E5%BC%95%E5%85%A5%E4%BA%86Buffer%20Pool%E3%80%82%E5%90%8C%E7%90%86%EF%BC%8C%E5%86%99%E5%85%A5**redo%E6%97%A5%E5%BF%97**%E6%97%B6%E4%B9%9F%E4%B8%8D%E8%83%BD%E7%9B%B4%E6%8E%A5%E7%9B%B4%E6%8E%A5%E5%86%99%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%EF%BC%8C%E5%AE%9E%E9%99%85%E4%B8%8A%E5%9C%A8**%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%AF%E5%8A%A8%E6%97%B6**%E5%B0%B1%E5%90%91%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%94%B3%E8%AF%B7%E4%BA%86%E4%B8%80%E5%A4%A7%E7%89%87%E7%A7%B0%E4%B9%8B%E4%B8%BA**redo%20log%20buffer%E7%9A%84%E8%BF%9E%E7%BB%AD%E5%86%85%E5%AD%98%E7%A9%BA%E9%97%B4**%EF%BC%8C%E7%BF%BB%E8%AF%91%E6%88%90%E4%B8%AD%E6%96%87%E5%B0%B1%E6%98%AF**redo%E6%97%A5%E5%BF%97%E7%BC%93%E5%86%B2%E5%8C%BA**%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B9%9F%E5%8F%AF%E4%BB%A5%E7%AE%80%E7%A7%B0%E4%B8%BAlog%20buffer%E3%80%82%E8%BF%99%E7%89%87%E5%86%85%E5%AD%98%E7%A9%BA%E9%97%B4%E8%A2%AB%E5%88%92%E5%88%86%E6%88%90%E8%8B%A5%E5%B9%B2%E4%B8%AA%E8%BF%9E%E7%BB%AD%E7%9A%84redo%20log%20block%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A!%5Bc0e0db392dc541ebd7640c12a0209a4d.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F975%3A1)%0A%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%90%AF%E5%8A%A8%E5%8F%82%E6%95%B0**innodb_log_buffer_size**%E6%9D%A5%E6%8C%87%E5%AE%9Alog%20buffer%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%8C%E5%9C%A8MySQL%205.7.21%E8%BF%99%E4%B8%AA%E7%89%88%E6%9C%AC%E4%B8%AD%EF%BC%8C%E8%AF%A5%E5%90%AF%E5%8A%A8%E5%8F%82%E6%95%B0%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%E4%B8%BA16MB%E3%80%82%0A%0A%0A%23%23%23%203-3%20redo%E6%97%A5%E5%BF%97%E5%86%99%E5%85%A5redo%20log%20buffer%0A%0A%E5%90%91redo%20log%20buffer%E4%B8%AD%E5%86%99%E5%85%A5redo%E6%97%A5%E5%BF%97%E7%9A%84%E8%BF%87%E7%A8%8B%E6%98%AF**%E9%A1%BA%E5%BA%8F**%E7%9A%84%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%85%88%E5%BE%80%E5%89%8D%E8%BE%B9%E7%9A%84block%E4%B8%AD%E5%86%99%EF%BC%8C%E5%BD%93%E8%AF%A5block%E7%9A%84%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E7%94%A8%E5%AE%8C%E4%B9%8B%E5%90%8E%E5%86%8D%E5%BE%80%E4%B8%8B%E4%B8%80%E4%B8%AAblock%E4%B8%AD%E5%86%99%E3%80%82%E5%BD%93%E6%88%91%E4%BB%AC%E6%83%B3%E5%BE%80log%20buffer%E4%B8%AD%E5%86%99%E5%85%A5redo%E6%97%A5%E5%BF%97%E6%97%B6%EF%BC%8C%E7%AC%AC%E4%B8%80%E4%B8%AA%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E5%B0%B1%E6%98%AF%E5%BA%94%E8%AF%A5%E5%86%99%E5%9C%A8%E5%93%AA%E4%B8%AAblock%E7%9A%84%E5%93%AA%E4%B8%AA%E5%81%8F%E7%A7%BB%E9%87%8F%E5%A4%84%EF%BC%8CInnoDB%E7%89%B9%E6%84%8F%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BA**buf_free%E7%9A%84%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F**%EF%BC%8C%E8%AF%A5%E5%8F%98%E9%87%8F%E6%8C%87%E6%98%8E%E5%90%8E%E7%BB%AD%E5%86%99%E5%85%A5%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%BA%94%E8%AF%A5%E5%86%99%E5%85%A5%E5%88%B0log%20buffer%E4%B8%AD%E7%9A%84%E5%93%AA%E4%B8%AA%E4%BD%8D%E7%BD%AE%EF%BC%8C%E5%A6%82%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A!%5B2ae057ef55d2540aec3e6ca8e841a338.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F977%3A1)%0A%0A%E5%89%8D%E8%BE%B9%E8%AF%B4%E8%BF%87%E4%B8%80%E4%B8%AAmtr%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%AF%E8%83%BD%E4%BA%A7%E7%94%9F%E8%8B%A5%E5%B9%B2%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E8%BF%99%E4%BA%9Bredo%E6%97%A5%E5%BF%97%E6%98%AF%E4%B8%80%E4%B8%AA%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84%E7%BB%84%EF%BC%8C%E6%89%80%E4%BB%A5%E5%85%B6%E5%AE%9E%E5%B9%B6%E4%B8%8D%E6%98%AF%E6%AF%8F%E7%94%9F%E6%88%90%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%B0%B1%E5%B0%86%E5%85%B6%E6%8F%92%E5%85%A5%E5%88%B0log%20buffer%E4%B8%AD%EF%BC%8C%E8%80%8C%E6%98%AF%E6%AF%8F%E4%B8%AAmtr%E8%BF%90%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84%E6%97%A5%E5%BF%97%E5%85%88%E6%9A%82%E6%97%B6%E5%AD%98%E5%88%B0%E4%B8%80%E4%B8%AA%E5%9C%B0%E6%96%B9%EF%BC%8C%E5%BD%93%E8%AF%A5mtr%E7%BB%93%E6%9D%9F%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E5%B0%86%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E5%86%8D%E5%85%A8%E9%83%A8%E5%A4%8D%E5%88%B6%E5%88%B0log%20buffer%E4%B8%AD%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%81%87%E8%AE%BE%E6%9C%89%E4%B8%A4%E4%B8%AA%E5%90%8D%E4%B8%BAT1%E3%80%81T2%E7%9A%84%E4%BA%8B%E5%8A%A1%EF%BC%8C%E6%AF%8F%E4%B8%AA%E4%BA%8B%E5%8A%A1%E9%83%BD%E5%8C%85%E5%90%AB2%E4%B8%AAmtr%EF%BC%8C%E6%88%91%E4%BB%AC%E7%BB%99%E8%BF%99%E5%87%A0%E4%B8%AAmtr%E5%91%BD%E5%90%8D%E4%B8%80%E4%B8%8B%EF%BC%9A%0A%0A*%20%E4%BA%8B%E5%8A%A1T1%E7%9A%84%E4%B8%A4%E4%B8%AAmtr%E5%88%86%E5%88%AB%E7%A7%B0%E4%B8%BAmtr_T1_1%E5%92%8Cmtr_T1_2%0A*%20%E4%BA%8B%E5%8A%A1T2%E7%9A%84%E4%B8%A4%E4%B8%AAmtr%E5%88%86%E5%88%AB%E7%A7%B0%E4%B8%BAmtr_T2_1%E5%92%8Cmtr_T2_2%0A%0A%E6%AF%8F%E4%B8%AAmtr%E9%83%BD%E4%BC%9A%E4%BA%A7%E7%94%9F%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E7%94%A8%E7%A4%BA%E6%84%8F%E5%9B%BE%E6%9D%A5%E6%8F%8F%E8%BF%B0%E4%B8%80%E4%B8%8B%E8%BF%99%E4%BA%9Bmtr%E4%BA%A7%E7%94%9F%E7%9A%84%E6%97%A5%E5%BF%97%E6%83%85%E5%86%B5%EF%BC%9A!%5Bb9839ac6298c1ee059cbbbee7c9f6a16.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F979%3A1)%0A%0A%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%8B%E5%8A%A1%E5%8F%AF%E8%83%BD%E6%98%AF%E5%B9%B6%E5%8F%91%E6%89%A7%E8%A1%8C%E7%9A%84%EF%BC%8C%E6%89%80%E4%BB%A5T1%E3%80%81T2%E4%B9%8B%E9%97%B4%E7%9A%84mtr%E5%8F%AF%E8%83%BD%E6%98%AF%E4%BA%A4%E6%9B%BF%E6%89%A7%E8%A1%8C%E7%9A%84%E3%80%82%E6%AF%8F%E5%BD%93%E4%B8%80%E4%B8%AAmtr%E6%89%A7%E8%A1%8C%E5%AE%8C%E6%88%90%E6%97%B6%EF%BC%8C%E4%BC%B4%E9%9A%8F%E8%AF%A5mtr%E7%94%9F%E6%88%90%E7%9A%84%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E5%B0%B1%E9%9C%80%E8%A6%81%E8%A2%AB%E5%A4%8D%E5%88%B6%E5%88%B0log%20buffer%E4%B8%AD%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E4%B8%8D%E5%90%8C%E4%BA%8B%E5%8A%A1%E7%9A%84mtr%E5%8F%AF%E8%83%BD%E6%98%AF%E4%BA%A4%E6%9B%BF%E5%86%99%E5%85%A5log%20buffer%E7%9A%84%EF%BC%8C%E6%88%91%E4%BB%AC%E7%94%BB%E4%B8%AA%E7%A4%BA%E6%84%8F%E5%9B%BE%EF%BC%88%E4%B8%BA%E4%BA%86%E7%BE%8E%E8%A7%82%EF%BC%8C%E6%88%91%E4%BB%AC%E6%8A%8A%E4%B8%80%E4%B8%AAmtr%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84%E6%89%80%E6%9C%89%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%BD%93%E4%BD%9C%E4%B8%80%E4%B8%AA%E6%95%B4%E4%BD%93%E6%9D%A5%E7%94%BB%EF%BC%89%EF%BC%9A!%5B966cebdf254d96c37a3bdcffbb612936.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F981%3A1)%0A%0A%0A%E4%BB%8E%E7%A4%BA%E6%84%8F%E5%9B%BE%E4%B8%AD%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%87%BA%E6%9D%A5%EF%BC%8C%E4%B8%8D%E5%90%8C%E7%9A%84mtr%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%8F%AF%E8%83%BD%E4%B8%8D%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%9C%89%E7%9A%84mtr%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E5%BE%88%E5%B0%91%EF%BC%8C%E6%AF%94%E5%A6%82mtr_t1_1%E3%80%81mtr_t2_1%E5%B0%B1%E8%A2%AB%E6%94%BE%E5%88%B0%E5%90%8C%E4%B8%80%E4%B8%AAblock%E4%B8%AD%E5%AD%98%E5%82%A8%EF%BC%8C%E6%9C%89%E7%9A%84mtr%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E9%9D%9E%E5%B8%B8%E5%A4%A7%EF%BC%8C%E6%AF%94%E5%A6%82mtr_t1_2%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E7%94%9A%E8%87%B3%E5%8D%A0%E7%94%A8%E4%BA%863%E4%B8%AAblock%E6%9D%A5%E5%AD%98%E5%82%A8%E3%80%82%0A%0A%0A%23%23%204%20redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%0A%0A%23%23%23%204-1%20redo%E6%97%A5%E5%BF%97%E5%88%B7%E7%9B%98%E6%97%B6%E6%9C%BA%0A%0A**mtr**%E8%BF%90%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B8%80%E7%BB%84**redo**%E6%97%A5%E5%BF%97%E5%9C%A8mtr%E7%BB%93%E6%9D%9F%E6%97%B6%E4%BC%9A%E8%A2%AB%E5%A4%8D%E5%88%B6%E5%88%B0**redo%20log%20buffer**%E4%B8%AD%EF%BC%8C%E5%9C%A8%E4%B8%80%E4%BA%9B%E6%83%85%E5%86%B5%E4%B8%8B%E5%AE%83%E4%BB%AC%E4%BC%9A%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E9%87%8C%EF%BC%9A%0A%0A*%20**redo%20log%20buffer%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3**%EF%BC%9Alog%20buffer%E7%9A%84%E5%A4%A7%E5%B0%8F%E6%98%AF%E6%9C%89%E9%99%90%E7%9A%84%EF%BC%88%E9%80%9A%E8%BF%87%E7%B3%BB%E7%BB%9F%E5%8F%98%E9%87%8Finnodb_log_buffer_size%E6%8C%87%E5%AE%9A%EF%BC%89%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%BD%93%E5%89%8D%E5%86%99%E5%85%A5log%20buffer%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E5%B7%B2%E7%BB%8F%E5%8D%A0%E6%BB%A1log%20buffer%E6%80%BB%E5%AE%B9%E9%87%8F%E7%9A%84%E5%A4%A7%E7%BA%A6%E4%B8%80%E5%8D%8A%E5%B7%A6%E5%8F%B3%EF%BC%8C%E5%B0%B1%E9%9C%80%E8%A6%81%E6%8A%8A%E8%BF%99%E4%BA%9B%E6%97%A5%E5%BF%97%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%EF%BC%9B%0A*%20**%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4**%EF%BC%9A%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%B8%8D%E6%8A%8A%E4%BF%AE%E6%94%B9%E8%BF%87%E7%9A%84buffer%20pool%E9%A1%B5%E9%9D%A2%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E4%BD%86%E6%98%AF%E4%B8%BA%E4%BA%86%E4%BF%9D%E8%AF%81%E6%8C%81%E4%B9%85%E6%80%A7%EF%BC%8C%E5%BF%85%E9%A1%BB%E6%8A%8A%E4%BF%AE%E6%94%B9%E8%BF%99%E4%BA%9B%E9%A1%B5%E9%9D%A2%E5%AF%B9%E5%BA%94%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%EF%BC%9B%0A*%20**%E5%90%8E%E5%8F%B0%E7%BA%BF%E7%A8%8B%E5%AE%9A%E6%97%B6%E5%88%B7%E6%96%B0**%EF%BC%9A%E5%90%8E%E5%8F%B0%E7%BA%BF%E7%A8%8B%E6%AF%8F%E7%A7%92%E5%88%B7%E6%96%B0%E4%B8%80%E6%AC%A1log%20buffer%E4%B8%AD%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%EF%BC%9B%0A*%20**%E6%AD%A3%E5%B8%B8%E5%85%B3%E9%97%AD%E6%9C%8D%E5%8A%A1%E5%99%A8**%0A*%20**checkpoint**%0A*%20**%E5%85%B6%E4%BB%96%E7%9A%84%E4%B8%80%E4%BA%9B%E6%83%85%E5%86%B5**%0A%0A%23%23%23%204-2%20redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%0AMySQL%E7%9A%84%E6%95%B0%E6%8D%AE%E7%9B%AE%E5%BD%95%EF%BC%88%E4%BD%BF%E7%94%A8SHOW%20VARIABLES%20LIKE%20'datadir'%E6%9F%A5%E7%9C%8B%EF%BC%89%E4%B8%8B%E9%BB%98%E8%AE%A4%E6%9C%89%E4%B8%A4%E4%B8%AA%E5%90%8D%E4%B8%BAib_logfile0%E5%92%8Cib_logfile1%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%8Clog%20buffer%E4%B8%AD%E7%9A%84%E6%97%A5%E5%BF%97%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%E5%B0%B1%E6%98%AF%E5%88%B7%E6%96%B0%E5%88%B0%E8%BF%99%E4%B8%A4%E4%B8%AA%E7%A3%81%E7%9B%98%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%8C%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8B%E5%90%AF%E5%8A%A8%E5%8F%82%E6%95%B0%E6%9D%A5%E8%B0%83%E8%8A%82%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%EF%BC%9A%0A%0A*%20**innodb_log_group_home_dir**%0A%E8%AF%A5%E5%8F%82%E6%95%B0%E6%8C%87%E5%AE%9A%E4%BA%86redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%8C%E9%BB%98%E8%AE%A4%E5%80%BC%E5%B0%B1%E6%98%AF%E5%BD%93%E5%89%8D%E7%9A%84%E6%95%B0%E6%8D%AE%E7%9B%AE%E5%BD%95%EF%BC%9B%0A%0A*%20**innodb_log_file_size**%0A%E8%AF%A5%E5%8F%82%E6%95%B0%E6%8C%87%E5%AE%9A%E4%BA%86%E6%AF%8F%E4%B8%AAredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%8C%E5%9C%A8MySQL%205.7.21%E8%BF%99%E4%B8%AA%E7%89%88%E6%9C%AC%E4%B8%AD%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%E4%B8%BA48MB%EF%BC%9B%0A%0A*%20**innodb_log_files_in_group**%0A%E8%AF%A5%E5%8F%82%E6%95%B0%E6%8C%87%E5%AE%9Aredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E4%B8%AA%E6%95%B0%EF%BC%8C%E9%BB%98%E8%AE%A4%E5%80%BC%E4%B8%BA2%EF%BC%8C%E6%9C%80%E5%A4%A7%E5%80%BC%E4%B8%BA10%EF%BC%9B%0A%0A%0A%E4%BB%8E%E4%B8%8A%E8%BE%B9%E7%9A%84%E6%8F%8F%E8%BF%B0%E4%B8%AD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%EF%BC%8C%E7%A3%81%E7%9B%98%E4%B8%8A%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E4%B8%8D%E5%8F%AA%E4%B8%80%E4%B8%AA%EF%BC%8C%E8%80%8C%E6%98%AF%E4%BB%A5%E4%B8%80%E4%B8%AA%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E7%9A%84%E5%BD%A2%E5%BC%8F%E5%87%BA%E7%8E%B0%E7%9A%84%E3%80%82%E8%BF%99%E4%BA%9B%E6%96%87%E4%BB%B6%E4%BB%A5**ib_logfile%5B%E6%95%B0%E5%AD%97%5D**%EF%BC%88%E6%95%B0%E5%AD%97%E5%8F%AF%E4%BB%A5%E6%98%AF0%E3%80%811%E3%80%812...%EF%BC%89%E7%9A%84%E5%BD%A2%E5%BC%8F%E8%BF%9B%E8%A1%8C%E5%91%BD%E5%90%8D%E3%80%82%E5%9C%A8%E5%B0%86redo%E6%97%A5%E5%BF%97%E5%86%99%E5%85%A5%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E6%97%B6%EF%BC%8C%E6%98%AF%E4%BB%8Eib_logfile0%E5%BC%80%E5%A7%8B%E5%86%99%EF%BC%8C%E5%A6%82%E6%9E%9Cib_logfile0%E5%86%99%E6%BB%A1%E4%BA%86%EF%BC%8C%E5%B0%B1%E6%8E%A5%E7%9D%80ib_logfile1%E5%86%99%EF%BC%8C%E5%90%8C%E7%90%86%EF%BC%8Cib_logfile1%E5%86%99%E6%BB%A1%E4%BA%86%E5%B0%B1%E5%8E%BB%E5%86%99ib_logfile2%EF%BC%8C%E4%BE%9D%E6%AD%A4%E7%B1%BB%E6%8E%A8%E3%80%82%E5%A6%82%E6%9E%9C%E5%86%99%E5%88%B0%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E8%AF%A5%E5%92%8B%E5%8A%9E%EF%BC%9F%E9%82%A3%E5%B0%B1%E9%87%8D%E6%96%B0%E8%BD%AC%E5%88%B0ib_logfile0%E7%BB%A7%E7%BB%AD%E5%86%99%EF%BC%8C%E6%89%80%E4%BB%A5%E6%95%B4%E4%B8%AA%E8%BF%87%E7%A8%8B%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A!%5Bf40f8df39e8151ea3568042943e33cab.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F983%3A1)%0A%0A**%E6%80%BB%E5%85%B1%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E5%85%B6%E5%AE%9E%E5%B0%B1%E6%98%AF%EF%BC%9Ainnodb_log_file_size%20%C3%97%20innodb_log_files_in_group%E3%80%82**%0A%0A%23%23%23%204-3%20redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%0A%0Alog%20buffer%E6%9C%AC%E8%B4%A8%E4%B8%8A%E6%98%AF%E4%B8%80%E7%89%87%E8%BF%9E%E7%BB%AD%E7%9A%84%E5%86%85%E5%AD%98%E7%A9%BA%E9%97%B4%EF%BC%8C%E8%A2%AB%E5%88%92%E5%88%86%E6%88%90%E8%8B%A5%E5%B9%B2%E4%B8%AA512%E5%AD%97%E8%8A%82%E5%A4%A7%E5%B0%8F%E7%9A%84block%E3%80%82**%E5%B0%86log%20buffer%E4%B8%AD%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E7%9A%84%E6%9C%AC%E8%B4%A8%E5%B0%B1%E6%98%AF%E6%8A%8Ablock%E7%9A%84%E9%95%9C%E5%83%8F%E5%86%99%E5%85%A5%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E4%B8%AD**%EF%BC%8C%E6%89%80%E4%BB%A5redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%85%B6%E5%AE%9E%E4%B9%9F%E6%98%AF%E7%94%B1%E8%8B%A5%E5%B9%B2%E4%B8%AA512%E5%AD%97%E8%8A%82%E5%A4%A7%E5%B0%8F%E7%9A%84block%E7%BB%84%E6%88%90%E3%80%82%0A%0Aredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E7%9A%84%E6%AF%8F%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E9%83%BD%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%A0%BC%E5%BC%8F%E4%B9%9F%E4%B8%80%E6%A0%B7%EF%BC%8C%E9%83%BD%E6%98%AF%E7%94%B1%E4%B8%A4%E9%83%A8%E5%88%86%E7%BB%84%E6%88%90%EF%BC%9A%0A%0A*%20%E5%89%8D2048%E4%B8%AA%E5%AD%97%E8%8A%82%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%89%8D4%E4%B8%AAblock%E6%98%AF%E7%94%A8%E6%9D%A5%E5%AD%98%E5%82%A8%E4%B8%80%E4%BA%9B%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%E7%9A%84%EF%BC%9B%0A*%20%E4%BB%8E%E7%AC%AC2048%E5%AD%97%E8%8A%82%E5%BE%80%E5%90%8E%E6%98%AF%E7%94%A8%E6%9D%A5%E5%AD%98%E5%82%A8log%20buffer%E4%B8%AD%E7%9A%84block%E9%95%9C%E5%83%8F%E7%9A%84%EF%BC%9B%0A%0A%0A%E6%89%80%E4%BB%A5%E6%88%91%E4%BB%AC%E5%89%8D%E8%BE%B9%E6%89%80%E8%AF%B4%E7%9A%84%E5%BE%AA%E7%8E%AF%E4%BD%BF%E7%94%A8redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%EF%BC%8C%E5%85%B6%E5%AE%9E%E6%98%AF%E4%BB%8E%E6%AF%8F%E4%B8%AA%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E7%AC%AC2048%E4%B8%AA%E5%AD%97%E8%8A%82%E5%BC%80%E5%A7%8B%E7%AE%97%EF%BC%8C%E7%94%BB%E4%B8%AA%E7%A4%BA%E6%84%8F%E5%9B%BE%E5%B0%B1%E6%98%AF%E8%BF%99%E6%A0%B7%EF%BC%9A!%5B691cc24ced45ef8a804304e1e7ee6297.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F985%3A1)%0A%0A%0A%E6%99%AE%E9%80%9Ablock%E7%9A%84%E6%A0%BC%E5%BC%8F%E6%88%91%E4%BB%AC%E5%9C%A8%E5%94%A0%E5%8F%A8log%20buffer%E7%9A%84%E6%97%B6%E5%80%99%E9%83%BD%E8%AF%B4%E8%BF%87%E4%BA%86%EF%BC%8C%E5%B0%B1%E6%98%AFlog%20block%20header%E3%80%81log%20block%20body%E3%80%81log%20block%20trialer%E8%BF%99%E4%B8%89%E4%B8%AA%E9%83%A8%E5%88%86%EF%BC%8C%E5%B0%B1%E4%B8%8D%E9%87%8D%E5%A4%8D%E4%BB%8B%E7%BB%8D%E4%BA%86%E3%80%82%E8%BF%99%E9%87%8C%E9%9C%80%E8%A6%81%E4%BB%8B%E7%BB%8D%E4%B8%80%E4%B8%8B%E6%AF%8F%E4%B8%AAredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%89%8D2048%E4%B8%AA%E5%AD%97%E8%8A%82%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%89%8D4%E4%B8%AA%E7%89%B9%E6%AE%8Ablock%E7%9A%84%E6%A0%BC%E5%BC%8F%E9%83%BD%E6%98%AF%E5%B9%B2%E5%98%9B%E7%9A%84%EF%BC%8C%E5%BA%9F%E8%AF%9D%E5%B0%91%E8%AF%B4%EF%BC%8C%E5%85%88%E7%9C%8B%E5%9B%BE%EF%BC%9A!%5Bbe2cda0bafe5ff52d0fda5472a324df5.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F987%3A1)%0A%0A%0A%E4%BB%8E%E5%9B%BE%E4%B8%AD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%87%BA%E6%9D%A5%EF%BC%8C%E8%BF%994%E4%B8%AAblock%E5%88%86%E5%88%AB%E6%98%AF%EF%BC%9A%0A%0A*%20**log%20file%20header**%EF%BC%9A%E6%8F%8F%E8%BF%B0%E8%AF%A5redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E4%B8%80%E4%BA%9B%E6%95%B4%E4%BD%93%E5%B1%9E%E6%80%A7%EF%BC%8C%E7%BB%93%E6%9E%84%E5%A6%82%E4%B8%8B%EF%BC%9A!%5Baa7f79c94659ab2af69d5db3eefdbdf5.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F989%3A1)%0A%E5%90%84%E4%B8%AA%E5%B1%9E%E6%80%A7%E7%9A%84%E9%87%8A%E4%B9%89%E5%A6%82%E4%B8%8B%EF%BC%9A!%5B5443208b4c0b3fae56962f5850561dbc.png%5D(en-resource%3A%2F%2Fdatabase%2F991%3A1)%0A%0A*%20**checkpoint1%E5%92%8Ccheckpoint2**%EF%BC%9A%E8%AE%B0%E5%BD%95%E5%85%B3%E4%BA%8Echeckpoint%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B1%9E%E6%80%A7%EF%BC%8C%E7%BB%93%E6%9E%84%E5%A6%82%E4%B8%8B%EF%BC%9A!%5Bee4c9b73d3640bec25a4cef8b0ba4949.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F993%3A1)%0A!%5B04590cce3945ddb35f35e1da181e4315.png%5D(en-resource%3A%2F%2Fdatabase%2F995%3A1)%0A%0A%23%23%205%20Log%20Sequence%20Number%0A%23%23%23%205-1%20lsn%0A%E8%87%AA%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%A7%8B%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%B0%B1%E4%B8%8D%E6%96%AD%E7%9A%84%E5%9C%A8%E4%BF%AE%E6%94%B9%E9%A1%B5%E9%9D%A2%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%84%8F%E5%91%B3%E7%9D%80%E4%BC%9A%E4%B8%8D%E6%96%AD%E7%9A%84%E7%94%9F%E6%88%90redo%E6%97%A5%E5%BF%97%E3%80%82redo%E6%97%A5%E5%BF%97%E7%9A%84%E9%87%8F%E5%9C%A8%E4%B8%8D%E6%96%AD%E7%9A%84%E9%80%92%E5%A2%9E%EF%BC%8C%E5%B0%B1%E5%83%8F%E4%BA%BA%E7%9A%84%E5%B9%B4%E9%BE%84%E4%B8%80%E6%A0%B7%EF%BC%8C%E8%87%AA%E6%89%93%E5%87%BA%E7%94%9F%E8%B5%B7%E5%B0%B1%E4%B8%8D%E6%96%AD%E9%80%92%E5%A2%9E%EF%BC%8C%E6%B0%B8%E8%BF%9C%E4%B8%8D%E5%8F%AF%E8%83%BD%E7%BC%A9%E5%87%8F%E4%BA%86%E3%80%82%E8%AE%BE%E8%AE%A1InnoDB%E7%9A%84%E5%A4%A7%E5%8F%94%E4%B8%BA%E8%AE%B0%E5%BD%95%E5%B7%B2%E7%BB%8F%E5%86%99%E5%85%A5%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%EF%BC%8C%E8%AE%BE%E8%AE%A1%E4%BA%86%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BA**Log%20Sequence%20Number%E7%9A%84%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F**%EF%BC%8C%E7%BF%BB%E8%AF%91%E8%BF%87%E6%9D%A5%E5%B0%B1%E6%98%AF%EF%BC%9A**%E6%97%A5%E5%BF%97%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%8C%E7%AE%80%E7%A7%B0lsn**%E3%80%82%E4%B8%8D%E8%BF%87%E4%B8%8D%E5%83%8F%E4%BA%BA%E4%B8%80%E5%87%BA%E7%94%9F%E7%9A%84%E5%B9%B4%E9%BE%84%E6%98%AF0%E5%B2%81%EF%BC%8CInnoDB%E8%A7%84%E5%AE%9A%E5%88%9D%E5%A7%8B%E7%9A%84**lsn%E5%80%BC%E4%B8%BA8704**%EF%BC%88%E4%B9%9F%E5%B0%B1%E6%98%AF%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E4%B9%9F%E6%B2%A1%E5%86%99%E5%85%A5%E6%97%B6%EF%BC%8Clsn%E7%9A%84%E5%80%BC%E4%B8%BA8704%EF%BC%89%E3%80%82%0A%0A%E5%90%91log%20buffer%E4%B8%AD%E5%86%99%E5%85%A5redo%E6%97%A5%E5%BF%97%E6%97%B6%E6%98%AF%E4%BB%A5%E4%B8%80%E4%B8%AAmtr%E7%94%9F%E6%88%90%E7%9A%84%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E4%B8%BA%E5%8D%95%E4%BD%8D%E5%86%99%E5%85%A5%E7%9A%84%E3%80%82%E8%80%8C%E4%B8%94%E5%AE%9E%E9%99%85%E4%B8%8A%E6%98%AF%E6%8A%8A%E6%97%A5%E5%BF%97%E5%86%85%E5%AE%B9%E5%86%99%E5%9C%A8%E4%BA%86log%20block%20body%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%98%AF%E5%9C%A8%E7%BB%9F%E8%AE%A1**lsn**%E7%9A%84%E5%A2%9E%E9%95%BF%E9%87%8F%E6%97%B6%EF%BC%8C%E6%98%AF%E6%8C%89%E7%85%A7%E5%AE%9E%E9%99%85%E5%86%99%E5%85%A5%E7%9A%84%E6%97%A5%E5%BF%97%E9%87%8F%E5%8A%A0%E4%B8%8A%E5%8D%A0%E7%94%A8%E7%9A%84log%20block%20header%E5%92%8Clog%20block%20trailer%E6%9D%A5%E8%AE%A1%E7%AE%97%E7%9A%84%E3%80%82%E4%B8%8B%E9%9D%A2%E7%9C%8B%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90%EF%BC%9A%0A%0A*%20%E7%B3%BB%E7%BB%9F%E7%AC%AC%E4%B8%80%E6%AC%A1%E5%90%AF%E5%8A%A8%E5%90%8E%E5%88%9D%E5%A7%8B%E5%8C%96log%20buffer%E6%97%B6%EF%BC%8Cbuf_free%EF%BC%88%E5%B0%B1%E6%98%AF%E6%A0%87%E8%AE%B0%E4%B8%8B%E4%B8%80%E6%9D%A1redo%E6%97%A5%E5%BF%97%E5%BA%94%E8%AF%A5%E5%86%99%E5%85%A5%E5%88%B0log%20buffer%E7%9A%84%E4%BD%8D%E7%BD%AE%E7%9A%84%E5%8F%98%E9%87%8F%EF%BC%89%E5%B0%B1%E4%BC%9A%E6%8C%87%E5%90%91%E7%AC%AC%E4%B8%80%E4%B8%AAblock%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8F%E4%B8%BA12%E5%AD%97%E8%8A%82%EF%BC%88log%20block%20header%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%89%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E9%82%A3%E4%B9%88lsn%E5%80%BC%E4%B9%9F%E4%BC%9A%E8%B7%9F%E7%9D%80%E5%A2%9E%E5%8A%A012%EF%BC%9A!%5B5c68712a90abbcdc5e41fe9c2244e9ec.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F997%3A1)%0A*%20%E5%A6%82%E6%9E%9C%E6%9F%90%E4%B8%AAmtr%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E6%AF%94%E8%BE%83%E5%B0%8F%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%BE%85%E6%8F%92%E5%85%A5%E7%9A%84block%E5%89%A9%E4%BD%99%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E8%83%BD%E5%AE%B9%E7%BA%B3%E8%BF%99%E4%B8%AAmtr%E6%8F%90%E4%BA%A4%E7%9A%84%E6%97%A5%E5%BF%97%E6%97%B6%EF%BC%8Clsn%E5%A2%9E%E9%95%BF%E7%9A%84%E9%87%8F%E5%B0%B1%E6%98%AF%E8%AF%A5mtr%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%97%E8%8A%82%E6%95%B0%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A%0A!%5Babeaefa0c9851b98f55d3aa0e03f7ce5.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F999%3A1)%0A%E5%81%87%E8%AE%BE%E4%B8%8A%E5%9B%BE%E4%B8%ADmtr_1%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E4%B8%BA200%E5%AD%97%E8%8A%82%EF%BC%8C%E9%82%A3%E4%B9%88lsn%E5%B0%B1%E8%A6%81%E5%9C%A88716%E7%9A%84%E5%9F%BA%E7%A1%80%E4%B8%8A%E5%A2%9E%E5%8A%A0200%EF%BC%8C%E5%8F%98%E4%B8%BA8916%E3%80%82%0A%0A*%20%E5%A6%82%E6%9E%9C%E6%9F%90%E4%B8%AAmtr%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E6%AF%94%E8%BE%83%E5%A4%A7%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%BE%85%E6%8F%92%E5%85%A5%E7%9A%84block%E5%89%A9%E4%BD%99%E7%A9%BA%E9%97%B2%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3%E4%BB%A5%E5%AE%B9%E7%BA%B3%E8%BF%99%E4%B8%AAmtr%E6%8F%90%E4%BA%A4%E7%9A%84%E6%97%A5%E5%BF%97%E6%97%B6%EF%BC%8Clsn%E5%A2%9E%E9%95%BF%E7%9A%84%E9%87%8F%E5%B0%B1%E6%98%AF%E8%AF%A5mtr%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E5%AD%97%E8%8A%82%E6%95%B0%E5%8A%A0%E4%B8%8A%E9%A2%9D%E5%A4%96%E5%8D%A0%E7%94%A8%E7%9A%84log%20block%20header%E5%92%8Clog%20block%20trailer%E7%9A%84%E5%AD%97%E8%8A%82%E6%95%B0%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A!%5B57c5d735fa6adf462eb9f89f1c1621c5.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1001%3A1)%0A%E5%81%87%E8%AE%BE%E4%B8%8A%E5%9B%BE%E4%B8%ADmtr_2%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E4%B8%BA1000%E5%AD%97%E8%8A%82%EF%BC%8C%E4%B8%BA%E4%BA%86%E5%B0%86mtr_2%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%86%99%E5%85%A5log%20buffer%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%BE%97%E4%B8%8D%E9%A2%9D%E5%A4%96%E5%A4%9A%E5%88%86%E9%85%8D%E4%B8%A4%E4%B8%AAblock%EF%BC%8C%E6%89%80%E4%BB%A5lsn%E7%9A%84%E5%80%BC%E9%9C%80%E8%A6%81%E5%9C%A88916%E7%9A%84%E5%9F%BA%E7%A1%80%E4%B8%8A%E5%A2%9E%E5%8A%A01000%20%2B%2012%C3%972%20%2B%204%20%C3%97%202%20%3D%201032%E3%80%82%0A%0A%E4%BB%8E%E4%B8%8A%E8%BE%B9%E7%9A%84%E6%8F%8F%E8%BF%B0%E4%B8%AD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%87%BA%E6%9D%A5%EF%BC%8C**%E6%AF%8F%E4%B8%80%E7%BB%84%E7%94%B1mtr%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E5%94%AF%E4%B8%80%E7%9A%84LSN%E5%80%BC%E4%B8%8E%E5%85%B6%E5%AF%B9%E5%BA%94%EF%BC%8CLSN%E5%80%BC%E8%B6%8A%E5%B0%8F%EF%BC%8C%E8%AF%B4%E6%98%8Eredo%E6%97%A5%E5%BF%97%E4%BA%A7%E7%94%9F%E7%9A%84%E8%B6%8A%E6%97%A9%E3%80%82**%0A%0A%23%23%23%205-2%20flushed_to_disk_lsn%0A%0Aredo%E6%97%A5%E5%BF%97%E6%98%AF%E9%A6%96%E5%85%88%E5%86%99%E5%88%B0log%20buffer%E4%B8%AD%EF%BC%8C%E4%B9%8B%E5%90%8E%E6%89%8D%E4%BC%9A%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E3%80%82%E6%89%80%E4%BB%A5InnoD%E6%8F%90%E5%87%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BA**buf_next_to_write**%E7%9A%84%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F%EF%BC%8C%E6%A0%87%E8%AE%B0%E5%BD%93%E5%89%8Dlog%20buffer%E4%B8%AD%E5%B7%B2%E7%BB%8F%E6%9C%89%E5%93%AA%E4%BA%9B%E6%97%A5%E5%BF%97%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%E4%BA%86%E3%80%82%E7%94%BB%E4%B8%AA%E5%9B%BE%E8%A1%A8%E7%A4%BA%E5%B0%B1%E6%98%AF%E8%BF%99%E6%A0%B7%EF%BC%9A!%5Bdadcf78298bb0415354a931fdb3e3141.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1003%3A1)%0A%0A**lsn**%E8%A1%A8%E7%A4%BA%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%86%99%E5%85%A5%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%EF%BC%8CInnoDB%E6%8F%90%E5%87%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E8%A1%A8%E7%A4%BA%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E7%9A%84%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F%EF%BC%8C%E7%A7%B0%E4%B9%8B%E4%B8%BA**flushed_to_disk_lsn**%E3%80%82%0A%E7%B3%BB%E7%BB%9F%E7%AC%AC%E4%B8%80%E6%AC%A1%E5%90%AF%E5%8A%A8%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%8F%98%E9%87%8F%E7%9A%84%E5%80%BC%E5%92%8C%E5%88%9D%E5%A7%8B%E7%9A%84lsn%E5%80%BC%E6%98%AF%E7%9B%B8%E5%90%8C%E7%9A%84%EF%BC%8C%E9%83%BD%E6%98%AF8704%E3%80%82%E9%9A%8F%E7%9D%80%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%BF%90%E8%A1%8C%EF%BC%8Credo%E6%97%A5%E5%BF%97%E8%A2%AB%E4%B8%8D%E6%96%AD%E5%86%99%E5%85%A5log%20buffer%EF%BC%8C%E4%BD%86%E6%98%AF%E5%B9%B6%E4%B8%8D%E4%BC%9A%E7%AB%8B%E5%8D%B3%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8Clsn%E7%9A%84%E5%80%BC%E5%B0%B1%E5%92%8Cflushed_to_disk_lsn%E7%9A%84%E5%80%BC%E6%8B%89%E5%BC%80%E4%BA%86%E5%B7%AE%E8%B7%9D%EF%BC%9A%0A%0A*%20%E7%B3%BB%E7%BB%9F%E7%AC%AC%E4%B8%80%E6%AC%A1%E5%90%AF%E5%8A%A8%E5%90%8E%EF%BC%8C%E5%90%91log%20buffer%E4%B8%AD%E5%86%99%E5%85%A5%E4%BA%86mtr_1%E3%80%81mtr_2%E3%80%81mtr_3%E8%BF%99%E4%B8%89%E4%B8%AAmtr%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%81%87%E8%AE%BE%E8%BF%99%E4%B8%89%E4%B8%AAmtr%E5%BC%80%E5%A7%8B%E5%92%8C%E7%BB%93%E6%9D%9F%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%E5%80%BC%E5%88%86%E5%88%AB%E6%98%AF%EF%BC%9A%0Aa.%20mtr_1%EF%BC%9A8716%20%EF%BD%9E%208916%0Ab.%20mtr_2%EF%BC%9A8916%20%EF%BD%9E%209948%0Ac.%20mtr_3%EF%BC%9A9948%20%EF%BD%9E%2010000%0A%E6%AD%A4%E6%97%B6%E7%9A%84lsn%E5%B7%B2%E7%BB%8F%E5%A2%9E%E9%95%BF%E5%88%B0%E4%BA%8610000%EF%BC%8C%E4%BD%86%E6%98%AF%E7%94%B1%E4%BA%8E%E6%B2%A1%E6%9C%89%E5%88%B7%E6%96%B0%E6%93%8D%E4%BD%9C%EF%BC%8C%E6%89%80%E4%BB%A5%E6%AD%A4%E6%97%B6flushed_to_disk_lsn%E7%9A%84%E5%80%BC%E4%BB%8D%E4%B8%BA8704%EF%BC%8C%E5%A6%82%E5%9B%BE%EF%BC%9A!%5B5a1fcd77d96a1a23b24750857bc219cf.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1005%3A1)%0A%0A*%20%E9%9A%8F%E5%90%8E%E8%BF%9B%E8%A1%8C%E5%B0%86log%20buffer%E4%B8%AD%E7%9A%84block%E5%88%B7%E6%96%B0%E5%88%B0redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%81%87%E8%AE%BE%E5%B0%86mtr_1%E5%92%8Cmtr_2%E7%9A%84%E6%97%A5%E5%BF%97%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E9%82%A3%E4%B9%88flushed_to_disk_lsn%E5%B0%B1%E5%BA%94%E8%AF%A5%E5%A2%9E%E9%95%BFmtr_1%E5%92%8Cmtr_2%E5%86%99%E5%85%A5%E7%9A%84%E6%97%A5%E5%BF%97%E9%87%8F%EF%BC%8C%E6%89%80%E4%BB%A5flushed_to_disk_lsn%E7%9A%84%E5%80%BC%E5%A2%9E%E9%95%BF%E5%88%B0%E4%BA%869948%EF%BC%8C%E5%A6%82%E5%9B%BE%EF%BC%9A!%5B776ab25033d661e82a525da0e7bc13b4.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1007%3A1)%0A%0A%E7%BB%BC%E4%B8%8A%E6%89%80%E8%BF%B0%EF%BC%8C**%E5%BD%93%E6%9C%89%E6%96%B0%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%86%99%E5%85%A5%E5%88%B0log%20buffer%E6%97%B6%EF%BC%8C%E9%A6%96%E5%85%88lsn%E7%9A%84%E5%80%BC%E4%BC%9A%E5%A2%9E%E9%95%BF%EF%BC%8C%E4%BD%86flushed_to_disk_lsn%E4%B8%8D%E5%8F%98%EF%BC%8C%E9%9A%8F%E5%90%8E%E9%9A%8F%E7%9D%80%E4%B8%8D%E6%96%AD%E6%9C%89log%20buffer%E4%B8%AD%E7%9A%84%E6%97%A5%E5%BF%97%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%EF%BC%8Cflushed_to_disk_lsn%E7%9A%84%E5%80%BC%E4%B9%9F%E8%B7%9F%E7%9D%80%E5%A2%9E%E9%95%BF%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%A4%E8%80%85%E7%9A%84%E5%80%BC%E7%9B%B8%E5%90%8C%E6%97%B6%EF%BC%8C%E8%AF%B4%E6%98%8Elog%20buffer%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89redo%E6%97%A5%E5%BF%97%E9%83%BD%E5%B7%B2%E7%BB%8F%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%E4%BA%86%E3%80%82**%0A%0A%E6%B3%A8%E6%84%8F%EF%BC%9A%0A%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%90%91%E7%A3%81%E7%9B%98%E5%86%99%E5%85%A5%E6%96%87%E4%BB%B6%E6%97%B6%E5%85%B6%E5%AE%9E%E6%98%AF%E5%85%88%E5%86%99%E5%88%B0%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E7%BC%93%E5%86%B2%E5%8C%BA%E4%B8%AD%E5%8E%BB%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%9F%90%E4%B8%AA%E5%86%99%E5%85%A5%E6%93%8D%E4%BD%9C%E8%A6%81%E7%AD%89%E5%88%B0%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%A1%AE%E8%AE%A4%E5%B7%B2%E7%BB%8F%E5%86%99%E5%88%B0%E7%A3%81%E7%9B%98%E6%97%B6%E6%89%8D%E8%BF%94%E5%9B%9E%EF%BC%8C%E9%82%A3%E9%9C%80%E8%A6%81%E8%B0%83%E7%94%A8%E4%B8%80%E4%B8%8B%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%8F%90%E4%BE%9B%E7%9A%84fsync%E5%87%BD%E6%95%B0%E3%80%82%E5%85%B6%E5%AE%9E%E5%8F%AA%E6%9C%89%E5%BD%93%E7%B3%BB%E7%BB%9F%E6%89%A7%E8%A1%8C%E4%BA%86fsync%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8Cflushed_to_disk_lsn%E7%9A%84%E5%80%BC%E6%89%8D%E4%BC%9A%E8%B7%9F%E7%9D%80%E5%A2%9E%E9%95%BF%EF%BC%8C%E5%BD%93%E4%BB%85%E4%BB%85%E6%8A%8Alog%20buffer%E4%B8%AD%E7%9A%84%E6%97%A5%E5%BF%97%E5%86%99%E5%85%A5%E5%88%B0%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%BC%93%E5%86%B2%E5%8C%BA%E5%8D%B4%E6%B2%A1%E6%9C%89%E6%98%BE%E5%BC%8F%E7%9A%84%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E6%97%B6%EF%BC%8C%E5%8F%A6%E5%A4%96%E7%9A%84%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BAwrite_lsn%E7%9A%84%E5%80%BC%E8%B7%9F%E7%9D%80%E5%A2%9E%E9%95%BF%E3%80%82%E4%B8%8D%E8%BF%87%E4%B8%BA%E4%BA%86%E5%A4%A7%E5%AE%B6%E7%90%86%E8%A7%A3%E4%B8%8A%E7%9A%84%E6%96%B9%E4%BE%BF%EF%BC%8C%E6%88%91%E4%BB%AC%E5%9C%A8%E8%AE%B2%E8%BF%B0%E6%97%B6%E6%8A%8Aflushed_to_disk_lsn%E5%92%8Cwrite_lsn%E7%9A%84%E6%A6%82%E5%BF%B5%E6%B7%B7%E6%B7%86%E4%BA%86%E8%B5%B7%E6%9D%A5%E3%80%82%0A%0A%23%23%23%205-3%20lsn%E5%80%BC%E5%92%8Credo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%81%8F%E7%A7%BB%E9%87%8F%E7%9A%84%E5%AF%B9%E5%BA%94%E5%85%B3%E7%B3%BB%0A%E5%9B%A0%E4%B8%BAlsn%E7%9A%84%E5%80%BC%E6%98%AF%E4%BB%A3%E8%A1%A8%E7%B3%BB%E7%BB%9F%E5%86%99%E5%85%A5%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%E7%9A%84%E4%B8%80%E4%B8%AA%E6%80%BB%E5%92%8C%EF%BC%8C%E4%B8%80%E4%B8%AAmtr%E4%B8%AD%E4%BA%A7%E7%94%9F%E5%A4%9A%E5%B0%91%E6%97%A5%E5%BF%97%EF%BC%8Clsn%E7%9A%84%E5%80%BC%E5%B0%B1%E5%A2%9E%E5%8A%A0%E5%A4%9A%E5%B0%91%EF%BC%88%E5%BD%93%E7%84%B6%E6%9C%89%E6%97%B6%E5%80%99%E8%A6%81%E5%8A%A0%E4%B8%8Alog%20block%20header%E5%92%8Clog%20block%20trailer%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%89%EF%BC%8C%E8%BF%99%E6%A0%B7mtr%E4%BA%A7%E7%94%9F%E7%9A%84%E6%97%A5%E5%BF%97%E5%86%99%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%E6%97%B6%EF%BC%8C%E5%BE%88%E5%AE%B9%E6%98%93%E8%AE%A1%E7%AE%97%E6%9F%90%E4%B8%80%E4%B8%AAlsn%E5%80%BC%E5%9C%A8redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8F%EF%BC%8C%E5%A6%82%E5%9B%BE%EF%BC%9A!%5B40fc4aeae02dd283d9430ac4b9481495.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1009%3A1)%0A%0A%E5%88%9D%E5%A7%8B%E6%97%B6%E7%9A%84LSN%E5%80%BC%E6%98%AF8704%EF%BC%8C%E5%AF%B9%E5%BA%94%E6%96%87%E4%BB%B6%E5%81%8F%E7%A7%BB%E9%87%8F2048%EF%BC%8C%E4%B9%8B%E5%90%8E%E6%AF%8F%E4%B8%AAmtr%E5%90%91%E7%A3%81%E7%9B%98%E4%B8%AD%E5%86%99%E5%85%A5%E5%A4%9A%E5%B0%91%E5%AD%97%E8%8A%82%E6%97%A5%E5%BF%97%EF%BC%8Clsn%E7%9A%84%E5%80%BC%E5%B0%B1%E5%A2%9E%E9%95%BF%E5%A4%9A%E5%B0%91%E3%80%82%0A%0A%23%23%23%205-4%20flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84LSN%0A%0A%E4%B8%80%E4%B8%AAmtr%E4%BB%A3%E8%A1%A8%E4%B8%80%E6%AC%A1%E5%AF%B9%E5%BA%95%E5%B1%82%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%8E%9F%E5%AD%90%E8%AE%BF%E9%97%AE%EF%BC%8C%E5%9C%A8%E8%AE%BF%E9%97%AE%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%AF%E8%83%BD%E4%BC%9A%E4%BA%A7%E7%94%9F%E4%B8%80%E7%BB%84%E4%B8%8D%E5%8F%AF%E5%88%86%E5%89%B2%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%9C%A8mtr%E7%BB%93%E6%9D%9F%E6%97%B6%EF%BC%8C%E4%BC%9A%E6%8A%8A%E8%BF%99%E4%B8%80%E7%BB%84redo%E6%97%A5%E5%BF%97%E5%86%99%E5%85%A5%E5%88%B0log%20buffer%E4%B8%AD%E3%80%82%E9%99%A4%E6%AD%A4%E4%B9%8B%E5%A4%96%EF%BC%8C%E5%9C%A8mtr%E7%BB%93%E6%9D%9F%E6%97%B6%E8%BF%98%E6%9C%89%E4%B8%80%E4%BB%B6%E9%9D%9E%E5%B8%B8%E9%87%8D%E8%A6%81%E7%9A%84%E4%BA%8B%E6%83%85%E8%A6%81%E5%81%9A%EF%BC%8C%E5%B0%B1%E6%98%AF%E6%8A%8A%E5%9C%A8mtr%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%AF%E8%83%BD%E4%BF%AE%E6%94%B9%E8%BF%87%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%8A%A0%E5%85%A5%E5%88%B0Buffer%20Pool%E7%9A%84flush%E9%93%BE%E8%A1%A8%E3%80%82%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E5%A4%A7%E5%AE%B6%E6%97%A9%E5%B7%B2%E5%BF%98%E8%AE%B0flush%E9%93%BE%E8%A1%A8%E6%98%AF%E4%B8%AA%E5%95%A5%EF%BC%8C%E6%88%91%E4%BB%AC%E5%86%8D%E7%9C%8B%E4%B8%80%E4%B8%8B%E5%9B%BE%EF%BC%9A!%5B474c9000177fb57ba76e0c697c2a61a1.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1011%3A1)%0A%E5%BD%93%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BF%AE%E6%94%B9%E6%9F%90%E4%B8%AA%E7%BC%93%E5%AD%98%E5%9C%A8Buffer%20Pool%E4%B8%AD%E7%9A%84%E9%A1%B5%E9%9D%A2%E6%97%B6%EF%BC%8C%E5%B0%B1%E4%BC%9A%E6%8A%8A%E8%BF%99%E4%B8%AA%E9%A1%B5%E9%9D%A2%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E6%8F%92%E5%85%A5%E5%88%B0flush%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%B4%E9%83%A8%EF%BC%8C%E4%B9%8B%E5%90%8E%E5%86%8D%E4%BF%AE%E6%94%B9%E8%AF%A5%E9%A1%B5%E9%9D%A2%E6%97%B6%E7%94%B1%E4%BA%8E%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%9C%A8flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E4%BA%86%EF%BC%8C%E5%B0%B1%E4%B8%8D%E5%86%8D%E6%AC%A1%E6%8F%92%E5%85%A5%E4%BA%86%E3%80%82%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4**flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%84%8F%E9%A1%B5%E6%98%AF%E6%8C%89%E7%85%A7%E9%A1%B5%E9%9D%A2%E7%9A%84%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BF%AE%E6%94%B9%E6%97%B6%E9%97%B4%E4%BB%8E%E5%A4%A7%E5%88%B0%E5%B0%8F%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%E7%9A%84**%E3%80%82%E5%9C%A8%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BC%9A%E5%9C%A8%E7%BC%93%E5%AD%98%E9%A1%B5%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E4%B8%AD%E8%AE%B0%E5%BD%95%E4%B8%A4%E4%B8%AA%E5%85%B3%E4%BA%8E%E9%A1%B5%E9%9D%A2%E4%BD%95%E6%97%B6%E4%BF%AE%E6%94%B9%E7%9A%84%E5%B1%9E%E6%80%A7%EF%BC%9A%0A%0A*%20**oldest_modification**%EF%BC%9A%E5%A6%82%E6%9E%9C%E6%9F%90%E4%B8%AA%E9%A1%B5%E9%9D%A2%E8%A2%AB%E5%8A%A0%E8%BD%BD%E5%88%B0Buffer%20Pool%E5%90%8E%E8%BF%9B%E8%A1%8C%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BF%AE%E6%94%B9%EF%BC%8C%E9%82%A3%E4%B9%88%E5%B0%B1%E5%B0%86%E4%BF%AE%E6%94%B9%E8%AF%A5%E9%A1%B5%E9%9D%A2%E7%9A%84mtr%E5%BC%80%E5%A7%8B%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%E5%80%BC%E5%86%99%E5%85%A5%E8%BF%99%E4%B8%AA%E5%B1%9E%E6%80%A7%EF%BC%9B%0A*%20**newest_modification**%EF%BC%9A%E6%AF%8F%E4%BF%AE%E6%94%B9%E4%B8%80%E6%AC%A1%E9%A1%B5%E9%9D%A2%EF%BC%8C%E9%83%BD%E4%BC%9A%E5%B0%86%E4%BF%AE%E6%94%B9%E8%AF%A5%E9%A1%B5%E9%9D%A2%E7%9A%84mtr%E7%BB%93%E6%9D%9F%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%E5%80%BC%E5%86%99%E5%85%A5%E8%BF%99%E4%B8%AA%E5%B1%9E%E6%80%A7%E3%80%82%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E8%AF%A5%E5%B1%9E%E6%80%A7%E8%A1%A8%E7%A4%BA%E9%A1%B5%E9%9D%A2%E6%9C%80%E8%BF%91%E4%B8%80%E6%AC%A1%E4%BF%AE%E6%94%B9%E5%90%8E%E5%AF%B9%E5%BA%94%E7%9A%84%E7%B3%BB%E7%BB%9Flsn%E5%80%BC%E3%80%82%0A%0A%E6%8E%A5%E7%9D%80%E4%B8%8A%E8%BE%B9%E7%9A%84flushed_to_disk_lsn%E7%9A%84%E4%BE%8B%E5%AD%90%E7%9C%8B%E4%B8%8B%EF%BC%9A%0A%0A*%20%E5%81%87%E8%AE%BEmtr_1%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BF%AE%E6%94%B9%E4%BA%86%E9%A1%B5a%EF%BC%8C%E9%82%A3%E4%B9%88%E5%9C%A8mtr_1%E6%89%A7%E8%A1%8C%E7%BB%93%E6%9D%9F%E6%97%B6%EF%BC%8C%E5%B0%B1%E4%BC%9A%E5%B0%86%E9%A1%B5a%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E5%8A%A0%E5%85%A5%E5%88%B0flush%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%B4%E9%83%A8%E3%80%82%E5%B9%B6%E4%B8%94%E5%B0%86mtr_1%E5%BC%80%E5%A7%8B%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF8716%E5%86%99%E5%85%A5%E9%A1%B5a%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E7%9A%84oldest_modification%E5%B1%9E%E6%80%A7%E4%B8%AD%EF%BC%8C%E6%8A%8Amtr_1%E7%BB%93%E6%9D%9F%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF8916%E5%86%99%E5%85%A5%E9%A1%B5a%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E7%9A%84newest_modification%E5%B1%9E%E6%80%A7%E4%B8%AD%E3%80%82%E7%94%BB%E4%B8%AA%E5%9B%BE%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%8B%EF%BC%88%E4%B8%BA%E4%BA%86%E8%AE%A9%E5%9B%BE%E7%89%87%E7%BE%8E%E8%A7%82%E4%B8%80%E4%BA%9B%EF%BC%8C%E6%88%91%E4%BB%AC%E6%8A%8Aoldest_modification%E7%BC%A9%E5%86%99%E6%88%90%E4%BA%86o_m%EF%BC%8C%E6%8A%8Anewest_modification%E7%BC%A9%E5%86%99%E6%88%90%E4%BA%86n_m%EF%BC%89%EF%BC%9A!%5Be37c08b2e1166ca29170b4731a66bebc.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1013%3A1)%0A%0A*%20%E6%8E%A5%E7%9D%80%E5%81%87%E8%AE%BEmtr_2%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%88%E4%BF%AE%E6%94%B9%E4%BA%86%E9%A1%B5b%E5%92%8C%E9%A1%B5c%E4%B8%A4%E4%B8%AA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E9%82%A3%E4%B9%88%E5%9C%A8mtr_2%E6%89%A7%E8%A1%8C%E7%BB%93%E6%9D%9F%E6%97%B6%EF%BC%8C%E5%B0%B1%E4%BC%9A%E5%B0%86%E9%A1%B5b%E5%92%8C%E9%A1%B5c%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E9%83%BD%E5%8A%A0%E5%85%A5%E5%88%B0flush%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%B4%E9%83%A8%E3%80%82%E5%B9%B6%E4%B8%94%E5%B0%86mtr_2%E5%BC%80%E5%A7%8B%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF8916%E5%86%99%E5%85%A5%E9%A1%B5b%E5%92%8C%E9%A1%B5c%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E7%9A%84oldest_modification%E5%B1%9E%E6%80%A7%E4%B8%AD%EF%BC%8C%E6%8A%8Amtr_2%E7%BB%93%E6%9D%9F%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF9948%E5%86%99%E5%85%A5%E9%A1%B5b%E5%92%8C%E9%A1%B5c%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E7%9A%84newest_modification%E5%B1%9E%E6%80%A7%E4%B8%AD%E3%80%82%E7%94%BB%E4%B8%AA%E5%9B%BE%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%8B%EF%BC%9A!%5B685294aece2964cb3230f4f1027c0e6c.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1015%3A1)%0A%0A%E4%BB%8E%E5%9B%BE%E4%B8%AD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%87%BA%E6%9D%A5%EF%BC%8C%E6%AF%8F%E6%AC%A1%E6%96%B0%E6%8F%92%E5%85%A5%E5%88%B0flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9%E9%83%BD%E6%98%AF%E8%A2%AB%E6%94%BE%E5%9C%A8%E4%BA%86%E5%A4%B4%E9%83%A8%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%89%8D%E8%BE%B9%E7%9A%84%E8%84%8F%E9%A1%B5%E4%BF%AE%E6%94%B9%E7%9A%84%E6%97%B6%E9%97%B4%E6%AF%94%E8%BE%83%E6%99%9A%EF%BC%8C%E5%90%8E%E8%BE%B9%E7%9A%84%E8%84%8F%E9%A1%B5%E4%BF%AE%E6%94%B9%E6%97%B6%E9%97%B4%E6%AF%94%E8%BE%83%E6%97%A9%E3%80%82%0A%0A*%20%E6%8E%A5%E7%9D%80%E5%81%87%E8%AE%BEmtr_3%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BF%AE%E6%94%B9%E4%BA%86%E9%A1%B5b%E5%92%8C%E9%A1%B5d%EF%BC%8C%E4%B8%8D%E8%BF%87%E9%A1%B5b%E4%B9%8B%E5%89%8D%E5%B7%B2%E7%BB%8F%E8%A2%AB%E4%BF%AE%E6%94%B9%E8%BF%87%E4%BA%86%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E5%B7%B2%E7%BB%8F%E8%A2%AB%E6%8F%92%E5%85%A5%E5%88%B0%E4%BA%86flush%E9%93%BE%E8%A1%A8%EF%BC%8C%E6%89%80%E4%BB%A5%E5%9C%A8mtr_3%E6%89%A7%E8%A1%8C%E7%BB%93%E6%9D%9F%E6%97%B6%EF%BC%8C%E5%8F%AA%E9%9C%80%E8%A6%81%E5%B0%86%E9%A1%B5d%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E9%83%BD%E5%8A%A0%E5%85%A5%E5%88%B0flush%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%B4%E9%83%A8%E5%8D%B3%E5%8F%AF%E3%80%82%E6%89%80%E4%BB%A5%E9%9C%80%E8%A6%81%E5%B0%86mtr_3%E5%BC%80%E5%A7%8B%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF9948%E5%86%99%E5%85%A5%E9%A1%B5d%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E7%9A%84oldest_modification%E5%B1%9E%E6%80%A7%E4%B8%AD%EF%BC%8C%E6%8A%8Amtr_3%E7%BB%93%E6%9D%9F%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF10000%E5%86%99%E5%85%A5%E9%A1%B5d%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E7%9A%84newest_modification%E5%B1%9E%E6%80%A7%E4%B8%AD%E3%80%82%E5%8F%A6%E5%A4%96%EF%BC%8C%E7%94%B1%E4%BA%8E%E9%A1%B5b%E5%9C%A8mtr_3%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%88%E5%8F%91%E7%94%9F%E4%BA%86%E4%B8%80%E6%AC%A1%E4%BF%AE%E6%94%B9%EF%BC%8C%E6%89%80%E4%BB%A5%E9%9C%80%E8%A6%81%E6%9B%B4%E6%96%B0%E9%A1%B5b%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E4%B8%ADnewest_modification%E7%9A%84%E5%80%BC%E4%B8%BA10000%E3%80%82%E7%94%BB%E4%B8%AA%E5%9B%BE%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%8B%EF%BC%9A!%5Bb788f5a14c27a6a0eb80ae08e8248f97.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1017%3A1)%0A%0A%E6%80%BB%E7%BB%93%E4%B8%80%E4%B8%8B%E4%B8%8A%E8%BE%B9%E8%AF%B4%E7%9A%84%EF%BC%8C%E5%B0%B1%E6%98%AF%EF%BC%9A**flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%84%8F%E9%A1%B5%E6%8C%89%E7%85%A7%E4%BF%AE%E6%94%B9%E5%8F%91%E7%94%9F%E7%9A%84%E6%97%B6%E9%97%B4%E9%A1%BA%E5%BA%8F%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E6%8C%89%E7%85%A7oldest_modification%E4%BB%A3%E8%A1%A8%E7%9A%84LSN%E5%80%BC%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%EF%BC%8C%E8%A2%AB%E5%A4%9A%E6%AC%A1%E6%9B%B4%E6%96%B0%E7%9A%84%E9%A1%B5%E9%9D%A2%E4%B8%8D%E4%BC%9A%E9%87%8D%E5%A4%8D%E6%8F%92%E5%85%A5%E5%88%B0flush%E9%93%BE%E8%A1%A8%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%98%AF%E4%BC%9A%E6%9B%B4%E6%96%B0newest_modification%E5%B1%9E%E6%80%A7%E7%9A%84%E5%80%BC**%E3%80%82%0A%0A%23%23%206%20checkpoint%0A%0Aredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E5%AE%B9%E9%87%8F%E6%98%AF%E6%9C%89%E9%99%90%E7%9A%84%EF%BC%8C%E4%B8%8D%E5%BE%97%E4%B8%8D%E9%80%89%E6%8B%A9%E5%BE%AA%E7%8E%AF%E4%BD%BF%E7%94%A8redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E6%98%AF%E8%BF%99%E4%BC%9A%E9%80%A0%E6%88%90%E6%9C%80%E5%90%8E%E5%86%99%E7%9A%84redo%E6%97%A5%E5%BF%97%E4%B8%8E%E6%9C%80%E5%BC%80%E5%A7%8B%E5%86%99%E7%9A%84redo%E6%97%A5%E5%BF%97%E8%BF%BD%E5%B0%BE%EF%BC%8C%E8%BF%99%E6%97%B6%E5%BA%94%E8%AF%A5%E6%83%B3%E5%88%B0%EF%BC%9A**redo%E6%97%A5%E5%BF%97%E5%8F%AA%E6%98%AF%E4%B8%BA%E4%BA%86%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E5%90%8E%E6%81%A2%E5%A4%8D%E8%84%8F%E9%A1%B5%E7%94%A8%E7%9A%84%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E5%B7%B2%E7%BB%8F%E5%88%B7%E6%96%B0%E5%88%B0%E4%BA%86%E7%A3%81%E7%9B%98%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E5%8D%B3%E4%BD%BF%E7%8E%B0%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%EF%BC%8C%E9%82%A3%E4%B9%88%E5%9C%A8%E9%87%8D%E5%90%AF%E5%90%8E%E4%B9%9F%E7%94%A8%E4%B8%8D%E7%9D%80%E4%BD%BF%E7%94%A8redo%E6%97%A5%E5%BF%97%E6%81%A2%E5%A4%8D%E8%AF%A5%E9%A1%B5%E9%9D%A2%E4%BA%86%EF%BC%8C%E6%89%80%E4%BB%A5%E8%AF%A5redo%E6%97%A5%E5%BF%97%E4%B9%9F%E5%B0%B1%E6%B2%A1%E6%9C%89%E5%AD%98%E5%9C%A8%E7%9A%84%E5%BF%85%E8%A6%81%E4%BA%86%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%83%E5%8D%A0%E7%94%A8%E7%9A%84%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E5%90%8E%E7%BB%AD%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%89%80%E9%87%8D%E7%94%A8%E3%80%82%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%EF%BC%9A%E5%88%A4%E6%96%AD%E6%9F%90%E4%BA%9Bredo%E6%97%A5%E5%BF%97%E5%8D%A0%E7%94%A8%E7%9A%84%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E8%A6%86%E7%9B%96%E7%9A%84%E4%BE%9D%E6%8D%AE%E5%B0%B1%E6%98%AF%E5%AE%83%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E9%87%8C**%E3%80%82%E6%88%91%E4%BB%AC%E7%9C%8B%E4%B8%80%E4%B8%8B%E5%89%8D%E8%BE%B9%E4%B8%80%E7%9B%B4%E5%94%A0%E5%8F%A8%E7%9A%84%E9%82%A3%E4%B8%AA%E4%BE%8B%E5%AD%90%EF%BC%9A!%5B13d5ed52f31568103f05cbb3fe7834fa.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1019%3A1)%0A%0A%E5%A6%82%E5%9B%BE%EF%BC%8C%E8%99%BD%E7%84%B6mtr_1%E5%92%8Cmtr_2%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E5%B7%B2%E7%BB%8F%E8%A2%AB%E5%86%99%E5%88%B0%E4%BA%86%E7%A3%81%E7%9B%98%E4%B8%8A%EF%BC%8C%E4%BD%86%E6%98%AF%E5%AE%83%E4%BB%AC%E4%BF%AE%E6%94%B9%E7%9A%84%E8%84%8F%E9%A1%B5%E4%BB%8D%E7%84%B6%E7%95%99%E5%9C%A8Buffer%20Pool%E4%B8%AD%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E4%BB%AC%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%9C%A8%E7%A3%81%E7%9B%98%E4%B8%8A%E7%9A%84%E7%A9%BA%E9%97%B4%E6%98%AF%E4%B8%8D%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E7%9A%84%E3%80%82%E4%B9%8B%E5%90%8E%E9%9A%8F%E7%9D%80%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%A6%82%E6%9E%9C%E9%A1%B5a%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E4%BA%86%E7%A3%81%E7%9B%98%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%83%E5%AF%B9%E5%BA%94%E7%9A%84%E6%8E%A7%E5%88%B6%E5%9D%97%E5%B0%B1%E4%BC%9A%E4%BB%8Eflush%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%A7%BB%E9%99%A4%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%E5%AD%90%EF%BC%9A!%5B732851baf7be1f3fdfe0873d1e97ab55.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1021%3A1)%0A%0A%0A%E8%BF%99%E6%A0%B7mtr_1%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%B0%B1%E6%B2%A1%E6%9C%89%E7%94%A8%E4%BA%86%EF%BC%8C%E5%AE%83%E4%BB%AC%E5%8D%A0%E7%94%A8%E7%9A%84%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E6%8E%89%E4%BA%86%E3%80%82InnoDB%E6%8F%90%E5%87%BA%E4%BA%86%E4%B8%80%E4%B8%AA**%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8Fcheckpoint_lsn**%E6%9D%A5%E4%BB%A3%E8%A1%A8%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%80%BB%E9%87%8F%E6%98%AF%E5%A4%9A%E5%B0%91%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%8F%98%E9%87%8F%E5%88%9D%E5%A7%8B%E5%80%BC%E4%B9%9F%E6%98%AF8704%E3%80%82%0A%0A%E6%AF%94%E6%96%B9%E8%AF%B4%E7%8E%B0%E5%9C%A8%E9%A1%B5a%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E4%BA%86%E7%A3%81%E7%9B%98%EF%BC%8Cmtr_1%E7%94%9F%E6%88%90%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E4%BA%86%EF%BC%8C%E6%89%80%E4%BB%A5%E5%8F%AF%E4%BB%A5%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%B8%AA%E5%A2%9E%E5%8A%A0checkpoint_lsn%E7%9A%84%E6%93%8D%E4%BD%9C%EF%BC%8C%E6%88%91%E4%BB%AC%E6%8A%8A%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E7%A7%B0%E4%B9%8B%E4%B8%BA%E5%81%9A%E4%B8%80%E6%AC%A1**checkpoint**%E3%80%82%E5%81%9A%E4%B8%80%E6%AC%A1checkpoint%E5%85%B6%E5%AE%9E%E5%8F%AF%E4%BB%A5%E5%88%86%E4%B8%BA%E4%B8%A4%E4%B8%AA%E6%AD%A5%E9%AA%A4%EF%BC%9A%0A%0A*%20%E6%AD%A5%E9%AA%A4%E4%B8%80%EF%BC%9A%E8%AE%A1%E7%AE%97%E4%B8%80%E4%B8%8B%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%AF%B9%E5%BA%94%E7%9A%84lsn%E5%80%BC%E6%9C%80%E5%A4%A7%E6%98%AF%E5%A4%9A%E5%B0%91%E3%80%82%0Aredo%E6%97%A5%E5%BF%97%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%EF%BC%8C%E6%84%8F%E5%91%B3%E7%9D%80%E5%AE%83%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E8%A2%AB%E5%88%B7%E5%88%B0%E4%BA%86%E7%A3%81%E7%9B%98%EF%BC%8C%E5%8F%AA%E8%A6%81%E6%88%91%E4%BB%AC%E8%AE%A1%E7%AE%97%E5%87%BA%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%B8%AD**%E8%A2%AB%E6%9C%80%E6%97%A9%E4%BF%AE%E6%94%B9%E7%9A%84%E8%84%8F%E9%A1%B5%E5%AF%B9%E5%BA%94%E7%9A%84oldest_modification%E5%80%BC**%EF%BC%8C%E9%82%A3**%E5%87%A1%E6%98%AF%E5%9C%A8%E7%B3%BB%E7%BB%9Flsn%E5%80%BC%E5%B0%8F%E4%BA%8E%E8%AF%A5%E8%8A%82%E7%82%B9%E7%9A%84oldest_modification%E5%80%BC%E6%97%B6%E4%BA%A7%E7%94%9F%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E6%98%AF%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E6%8E%89%E7%9A%84**%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1**%E6%8A%8A%E8%AF%A5%E8%84%8F%E9%A1%B5%E7%9A%84oldest_modification%E8%B5%8B%E5%80%BC%E7%BB%99checkpoint_lsn**%E3%80%82%0A%E6%AF%94%E6%96%B9%E8%AF%B4%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%B8%AD%E9%A1%B5a%E5%B7%B2%E7%BB%8F%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E9%82%A3%E4%B9%88flush%E9%93%BE%E8%A1%A8%E7%9A%84%E5%B0%BE%E8%8A%82%E7%82%B9%E5%B0%B1%E6%98%AF%E9%A1%B5c%EF%BC%8C%E8%AF%A5%E8%8A%82%E7%82%B9%E5%B0%B1%E6%98%AF%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%B8%AD%E6%9C%80%E6%97%A9%E4%BF%AE%E6%94%B9%E7%9A%84%E8%84%8F%E9%A1%B5%E4%BA%86%EF%BC%8C%E5%AE%83%E7%9A%84oldest_modification%E5%80%BC%E4%B8%BA8916%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E6%8A%8A8916%E8%B5%8B%E5%80%BC%E7%BB%99checkpoint_lsn%EF%BC%88%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E5%9C%A8redo%E6%97%A5%E5%BF%97%E5%AF%B9%E5%BA%94%E7%9A%84lsn%E5%80%BC%E5%B0%8F%E4%BA%8E8916%E6%97%B6%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%E6%8E%89%EF%BC%89%E3%80%82%0A%0A%0A*%20%E6%AD%A5%E9%AA%A4%E4%BA%8C%EF%BC%9A%E5%B0%86**checkpoint_lsn**%E5%92%8C**%E5%AF%B9%E5%BA%94%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E5%81%8F%E7%A7%BB%E9%87%8F**%E4%BB%A5%E5%8F%8A**%E6%AD%A4%E6%AC%A1checkpint%E7%9A%84%E7%BC%96%E5%8F%B7**%E5%86%99%E5%88%B0%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%EF%BC%88%E5%B0%B1%E6%98%AF**checkpoint1**%E6%88%96%E8%80%85**checkpoint2**%EF%BC%89%E4%B8%AD%E3%80%82%0AInnoDB%E7%BB%B4%E6%8A%A4%E4%BA%86%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%89%8D%E7%B3%BB%E7%BB%9F%E5%81%9A%E4%BA%86%E5%A4%9A%E5%B0%91%E6%AC%A1checkpoint%E7%9A%84%E5%8F%98%E9%87%8Fcheckpoint_no%EF%BC%8C%E6%AF%8F%E5%81%9A%E4%B8%80%E6%AC%A1checkpoint%EF%BC%8C%E8%AF%A5%E5%8F%98%E9%87%8F%E7%9A%84%E5%80%BC%E5%B0%B1%E5%8A%A01%E3%80%82%E6%88%91%E4%BB%AC%E5%89%8D%E8%BE%B9%E8%AF%B4%E8%BF%87%E8%AE%A1%E7%AE%97%E4%B8%80%E4%B8%AAlsn%E5%80%BC%E5%AF%B9%E5%BA%94%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E5%81%8F%E7%A7%BB%E9%87%8F%E6%98%AF%E5%BE%88%E5%AE%B9%E6%98%93%E7%9A%84%EF%BC%8C%E6%89%80%E4%BB%A5%E5%8F%AF%E4%BB%A5%E8%AE%A1%E7%AE%97%E5%BE%97%E5%88%B0%E8%AF%A5checkpoint_lsn%E5%9C%A8redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E5%AF%B9%E5%BA%94%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8Fcheckpoint_offset%EF%BC%8C%E7%84%B6%E5%90%8E%E6%8A%8A%E8%BF%99%E4%B8%89%E4%B8%AA%E5%80%BC%E9%83%BD%E5%86%99%E5%88%B0redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E7%9A%84%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%E4%B8%AD%E3%80%82%0A%E6%AF%8F%E4%B8%80%E4%B8%AAredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E9%83%BD%E6%9C%892048%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%EF%BC%8C%E4%BD%86%E6%98%AF%E4%B8%8A%E8%BF%B0%E5%85%B3%E4%BA%8Echeckpoint%E7%9A%84%E4%BF%A1%E6%81%AF%E5%8F%AA%E4%BC%9A%E8%A2%AB%E5%86%99%E5%88%B0%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%E4%B8%AD%E3%80%82%E4%B8%8D%E8%BF%87%E6%88%91%E4%BB%AC%E6%98%AF%E5%AD%98%E5%82%A8%E5%88%B0checkpoint1%E4%B8%AD%E8%BF%98%E6%98%AFcheckpoint2%E4%B8%AD%E5%91%A2%EF%BC%9FInnoDB%E8%A7%84%E5%AE%9A%EF%BC%8C**%E5%BD%93checkpoint_no%E7%9A%84%E5%80%BC%E6%98%AF%E5%81%B6%E6%95%B0%E6%97%B6%EF%BC%8C%E5%B0%B1%E5%86%99%E5%88%B0checkpoint1%E4%B8%AD%EF%BC%8C%E6%98%AF%E5%A5%87%E6%95%B0%E6%97%B6%EF%BC%8C%E5%B0%B1%E5%86%99%E5%88%B0checkpoint2%E4%B8%AD**%E3%80%82%0A%0A%0A%E8%AE%B0%E5%BD%95%E5%AE%8Ccheckpoint%E7%9A%84%E4%BF%A1%E6%81%AF%E4%B9%8B%E5%90%8E%EF%BC%8Credo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E5%90%84%E4%B8%AAlsn%E5%80%BC%E7%9A%84%E5%85%B3%E7%B3%BB%E5%B0%B1%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A!%5B08abaa1c886c163efc77c89aa8b7d044.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1023%3A1)%0A%0A%0A%23%23%23%206-1%20%E6%89%B9%E9%87%8F%E4%BB%8Eflush%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%88%B7%E5%87%BA%E8%84%8F%E9%A1%B5%0A%E5%9C%A8%E4%BB%8B%E7%BB%8DBuffer%20Pool%E7%9A%84%E6%97%B6%E5%80%99%E8%AF%B4%E8%BF%87%EF%BC%8C%E4%B8%80%E8%88%AC%E6%83%85%E5%86%B5%E4%B8%8B%E9%83%BD%E6%98%AF%E5%90%8E%E5%8F%B0%E7%9A%84%E7%BA%BF%E7%A8%8B%E5%9C%A8%E5%AF%B9LRU%E9%93%BE%E8%A1%A8%E5%92%8Cflush%E9%93%BE%E8%A1%A8%E8%BF%9B%E8%A1%8C%E5%88%B7%E8%84%8F%E6%93%8D%E4%BD%9C%EF%BC%8C%E8%BF%99%E4%B8%BB%E8%A6%81%E5%9B%A0%E4%B8%BA%E5%88%B7%E8%84%8F%E6%93%8D%E4%BD%9C%E6%AF%94%E8%BE%83%E6%85%A2%EF%BC%8C%E4%B8%8D%E6%83%B3%E5%BD%B1%E5%93%8D%E7%94%A8%E6%88%B7%E7%BA%BF%E7%A8%8B%E5%A4%84%E7%90%86%E8%AF%B7%E6%B1%82%E3%80%82%E4%BD%86%E6%98%AF%E5%A6%82%E6%9E%9C%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E4%BF%AE%E6%94%B9%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%93%8D%E4%BD%9C%E5%8D%81%E5%88%86%E9%A2%91%E7%B9%81%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%B0%B1%E5%AF%BC%E8%87%B4%E5%86%99%E6%97%A5%E5%BF%97%E6%93%8D%E4%BD%9C%E5%8D%81%E5%88%86%E9%A2%91%E7%B9%81%EF%BC%8C%E7%B3%BB%E7%BB%9Flsn%E5%80%BC%E5%A2%9E%E9%95%BF%E8%BF%87%E5%BF%AB%E3%80%82%E5%A6%82%E6%9E%9C%E5%90%8E%E5%8F%B0%E7%9A%84%E5%88%B7%E8%84%8F%E6%93%8D%E4%BD%9C%E4%B8%8D%E8%83%BD%E5%B0%86%E8%84%8F%E9%A1%B5%E5%88%B7%E5%87%BA%EF%BC%8C%E9%82%A3%E4%B9%88%E7%B3%BB%E7%BB%9F%E6%97%A0%E6%B3%95%E5%8F%8A%E6%97%B6%E5%81%9Acheckpoint%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%B0%B1%E9%9C%80%E8%A6%81%E7%94%A8%E6%88%B7%E7%BA%BF%E7%A8%8B%E5%90%8C%E6%AD%A5%E7%9A%84%E4%BB%8Eflush%E9%93%BE%E8%A1%A8%E4%B8%AD%E6%8A%8A%E9%82%A3%E4%BA%9B%E6%9C%80%E6%97%A9%E4%BF%AE%E6%94%B9%E7%9A%84%E8%84%8F%E9%A1%B5%EF%BC%88oldest_modification%E6%9C%80%E5%B0%8F%E7%9A%84%E8%84%8F%E9%A1%B5%EF%BC%89%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E8%BF%99%E6%A0%B7%E8%BF%99%E4%BA%9B%E8%84%8F%E9%A1%B5%E5%AF%B9%E5%BA%94%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%B0%B1%E6%B2%A1%E7%94%A8%E4%BA%86%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%B1%E5%8F%AF%E4%BB%A5%E5%8E%BB%E5%81%9Acheckpoint%E4%BA%86%E3%80%82%0A%0A%23%23%23%206-2%20%E6%9F%A5%E7%9C%8B%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84%E5%90%84%E7%A7%8DLSN%E5%80%BC%0A%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8**show%20engine%20innodb%20status**%E5%91%BD%E4%BB%A4%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8DInnoDB%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E4%B8%AD%E7%9A%84%E5%90%84%E7%A7%8DLSN%E5%80%BC%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%0A!%5Bf5172a4fc3cee2db0f53420b040f1b4d.png%5D(en-resource%3A%2F%2Fdatabase%2F1025%3A1)%0A%0A*%20**Log%20sequence%20number**%EF%BC%9A%E4%BB%A3%E8%A1%A8%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84lsn%E5%80%BC%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E5%B7%B2%E7%BB%8F%E5%86%99%E5%85%A5%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%EF%BC%8C%E5%8C%85%E6%8B%AC%E5%86%99%E5%85%A5log%20buffer%E4%B8%AD%E7%9A%84%E6%97%A5%E5%BF%97%EF%BC%9B%0A*%20**Log%20flushed%20up%20to**%EF%BC%9A%E4%BB%A3%E8%A1%A8flushed_to_disk_lsn%E7%9A%84%E5%80%BC%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E5%B7%B2%E7%BB%8F%E5%86%99%E5%85%A5%E7%A3%81%E7%9B%98%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%87%8F%EF%BC%9B%0A*%20**Pages%20flushed%20up%20to**%EF%BC%9A%E4%BB%A3%E8%A1%A8flush%E9%93%BE%E8%A1%A8%E4%B8%AD%E8%A2%AB%E6%9C%80%E6%97%A9%E4%BF%AE%E6%94%B9%E7%9A%84%E9%82%A3%E4%B8%AA%E9%A1%B5%E9%9D%A2%E5%AF%B9%E5%BA%94%E7%9A%84oldest_modification%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%9B%0A*%20**Last%20checkpoint%20at**%EF%BC%9A%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E7%9A%84checkpoint_lsn%E5%80%BC%EF%BC%9B%0A%0A%0A%23%23%23%206-3%20innodb_flush_log_at_trx_commit%E7%9A%84%E7%94%A8%E6%B3%95%0A%0A%E4%B8%8A%E8%BF%B0%E7%9A%84%E6%83%85%E5%86%B5%E9%83%BD%E6%98%AF%E5%9F%BA%E4%BA%8E%E4%B8%BA%E4%BA%86%E4%BF%9D%E8%AF%81%E4%BA%8B%E5%8A%A1%E7%9A%84%E6%8C%81%E4%B9%85%E6%80%A7%EF%BC%8C%E7%94%A8%E6%88%B7%E7%BA%BF%E7%A8%8B%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E9%9C%80%E8%A6%81%E5%B0%86%E8%AF%A5%E4%BA%8B%E5%8A%A1%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E7%9A%84%E6%89%80%E6%9C%89redo%E6%97%A5%E5%BF%97%E9%83%BD%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%8A%E3%80%82%E4%BD%86%E6%98%AF%E8%BF%99%E6%A0%B7%E4%BC%9A%E6%98%8E%E6%98%BE%E7%9A%84%E9%99%8D%E4%BD%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E6%80%A7%E8%83%BD%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E6%8C%81%E4%B9%85%E6%80%A7%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%BC%BA%E7%83%88%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%8F%AF%E4%BB%A5%E9%80%89%E6%8B%A9%E4%BF%AE%E6%94%B9%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B8%BAinnodb_flush_log_at_trx_commit%E7%9A%84%E7%B3%BB%E7%BB%9F%E5%8F%98%E9%87%8F%E7%9A%84%E5%80%BC%EF%BC%8C%E8%AF%A5%E5%8F%98%E9%87%8F%E6%9C%893%E4%B8%AA%E5%8F%AF%E9%80%89%E7%9A%84%E5%80%BC%EF%BC%9A%0A%0A*%20**0**%EF%BC%9A%E5%BD%93%E8%AF%A5%E7%B3%BB%E7%BB%9F%E5%8F%98%E9%87%8F%E5%80%BC%E4%B8%BA0%E6%97%B6%EF%BC%8C%E8%A1%A8%E7%A4%BA%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E4%B8%8D%E7%AB%8B%E5%8D%B3%E5%90%91%E7%A3%81%E7%9B%98%E4%B8%AD%E5%90%8C%E6%AD%A5redo%E6%97%A5%E5%BF%97%EF%BC%8C%E8%BF%99%E4%B8%AA%E4%BB%BB%E5%8A%A1%E6%98%AF%E4%BA%A4%E7%BB%99%E5%90%8E%E5%8F%B0%E7%BA%BF%E7%A8%8B%E5%81%9A%E7%9A%84%E3%80%82%0A%E8%BF%99%E6%A0%B7%E5%BE%88%E6%98%8E%E6%98%BE%E4%BC%9A%E5%8A%A0%E5%BF%AB%E8%AF%B7%E6%B1%82%E5%A4%84%E7%90%86%E9%80%9F%E5%BA%A6%EF%BC%8C%E4%BD%86%E6%98%AF%E5%A6%82%E6%9E%9C%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E5%90%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8C%82%E4%BA%86%EF%BC%8C%E5%90%8E%E5%8F%B0%E7%BA%BF%E7%A8%8B%E6%B2%A1%E6%9C%89%E5%8F%8A%E6%97%B6%E5%B0%86redo%E6%97%A5%E5%BF%97%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E9%82%A3%E4%B9%88%E8%AF%A5%E4%BA%8B%E5%8A%A1%E5%AF%B9%E9%A1%B5%E9%9D%A2%E7%9A%84%E4%BF%AE%E6%94%B9%E4%BC%9A%E4%B8%A2%E5%A4%B1%E3%80%82%0A%0A*%20**1**%EF%BC%9A%E5%BD%93%E8%AF%A5%E7%B3%BB%E7%BB%9F%E5%8F%98%E9%87%8F%E5%80%BC%E4%B8%BA1%E6%97%B6%EF%BC%8C%E8%A1%A8%E7%A4%BA%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E9%9C%80%E8%A6%81%E5%B0%86redo%E6%97%A5%E5%BF%97%E5%90%8C%E6%AD%A5%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BF%9D%E8%AF%81%E4%BA%8B%E5%8A%A1%E7%9A%84%E6%8C%81%E4%B9%85%E6%80%A7%E3%80%821%E4%B9%9F%E6%98%AFinnodb_flush_log_ta_trx_commit%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%E3%80%82%0A%0A*%20**2**%EF%BC%9A%E5%BD%93%E8%AF%A5%E7%B3%BB%E7%BB%9F%E5%8F%98%E9%87%8F%E5%80%BC%E4%B8%BA2%E6%97%B6%EF%BC%8C%E8%A1%A8%E7%A4%BA%E5%9C%A8%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E6%97%B6%E9%9C%80%E8%A6%81%E5%B0%86redo%E6%97%A5%E5%BF%97%E5%86%99%E5%88%B0%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E7%BC%93%E5%86%B2%E5%8C%BA%E4%B8%AD%EF%BC%8C%E4%BD%86%E5%B9%B6%E4%B8%8D%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF%81%E5%B0%86%E6%97%A5%E5%BF%97%E7%9C%9F%E6%AD%A3%E7%9A%84%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E3%80%82%0A%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E4%B8%8B%E5%A6%82%E6%9E%9C%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8C%82%E4%BA%86%EF%BC%8C%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%B2%A1%E6%8C%82%E7%9A%84%E8%AF%9D%EF%BC%8C%E4%BA%8B%E5%8A%A1%E7%9A%84%E6%8C%81%E4%B9%85%E6%80%A7%E8%BF%98%E6%98%AF%E5%8F%AF%E4%BB%A5%E4%BF%9D%E8%AF%81%E7%9A%84%EF%BC%8C%E4%BD%86%E6%98%AF%E5%A6%82%E6%9E%9C%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B9%9F%E6%8C%82%E4%BA%86%E7%9A%84%E8%AF%9D%EF%BC%8C%E9%82%A3%E5%B0%B1%E4%B8%8D%E8%83%BD%E4%BF%9D%E8%AF%81%E6%8C%81%E4%B9%85%E6%80%A7%E4%BA%86%0A%0A%23%23%207%20%E5%B4%A9%E6%BA%83%E6%81%A2%E5%A4%8D%0A%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8D%E6%8C%82%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8Credo%E6%97%A5%E5%BF%97%E7%AE%80%E7%9B%B4%E5%B0%B1%E6%98%AF%E4%B8%AA%E5%A4%A7%E7%B4%AF%E8%B5%98%EF%BC%8C%E4%B8%8D%E4%BB%85%E6%B2%A1%E7%94%A8%EF%BC%8C%E5%8F%8D%E8%80%8C%E8%AE%A9%E6%80%A7%E8%83%BD%E5%8F%98%E5%BE%97%E6%9B%B4%E5%B7%AE%E3%80%82%E4%BD%86%E6%98%AF%E4%B8%87%E4%B8%80%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8C%82%E4%BA%86%EF%BC%8C%E9%82%A3redo%E6%97%A5%E5%BF%97%E5%8F%AF%E6%98%AF%E4%B8%AA%E5%AE%9D%E4%BA%86%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E5%8F%AF%E4%BB%A5%E5%9C%A8%E9%87%8D%E5%90%AF%E6%97%B6%E6%A0%B9%E6%8D%AEredo%E6%97%A5%E5%BF%97%E4%B8%AD%E7%9A%84%E8%AE%B0%E5%BD%95%E5%B0%B1%E5%8F%AF%E4%BB%A5%E5%B0%86%E9%A1%B5%E9%9D%A2%E6%81%A2%E5%A4%8D%E5%88%B0%E7%B3%BB%E7%BB%9F%E5%A5%94%E6%BA%83%E5%89%8D%E7%9A%84%E7%8A%B6%E6%80%81%E3%80%82%0A%0A%23%23%23%207-1%20%E7%A1%AE%E5%AE%9A%E6%81%A2%E5%A4%8D%E7%9A%84%E8%B5%B7%E7%82%B9%0Acheckpoint_lsn%E4%B9%8B%E5%89%8D%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E5%8F%AF%E4%BB%A5%E8%A2%AB%E8%A6%86%E7%9B%96%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E8%BF%99%E4%BA%9Bredo%E6%97%A5%E5%BF%97%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E9%83%BD%E5%B7%B2%E7%BB%8F%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%E4%BA%86%EF%BC%8C%E6%97%A2%E7%84%B6%E5%AE%83%E4%BB%AC%E5%B7%B2%E7%BB%8F%E8%A2%AB%E5%88%B7%E7%9B%98%EF%BC%8C%E5%B0%B1%E6%B2%A1%E5%BF%85%E8%A6%81%E6%81%A2%E5%A4%8D%E5%AE%83%E4%BB%AC%E4%BA%86%E3%80%82%E5%AF%B9%E4%BA%8Echeckpoint_lsn%E4%B9%8B%E5%90%8E%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%AE%83%E4%BB%AC%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E5%8F%AF%E8%83%BD%E6%B2%A1%E8%A2%AB%E5%88%B7%E7%9B%98%EF%BC%8C%E4%B9%9F%E5%8F%AF%E8%83%BD%E8%A2%AB%E5%88%B7%E7%9B%98%E4%BA%86%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E8%83%BD%E7%A1%AE%E5%AE%9A%EF%BC%8C%E6%89%80%E4%BB%A5%E9%9C%80%E8%A6%81%E4%BB%8Echeckpoint_lsn%E5%BC%80%E5%A7%8B%E8%AF%BB%E5%8F%96redo%E6%97%A5%E5%BF%97%E6%9D%A5%E6%81%A2%E5%A4%8D%E9%A1%B5%E9%9D%A2%E3%80%82%0A%E5%BD%93%E7%84%B6%EF%BC%8Credo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E7%9A%84%E7%AE%A1%E7%90%86%E4%BF%A1%E6%81%AF%E4%B8%AD%E6%9C%89%E4%B8%A4%E4%B8%AAblock%E9%83%BD%E5%AD%98%E5%82%A8%E4%BA%86checkpoint_lsn%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BD%93%E7%84%B6%E6%98%AF%E8%A6%81%E9%80%89%E5%8F%96%E6%9C%80%E8%BF%91%E5%8F%91%E7%94%9F%E7%9A%84%E9%82%A3%E6%AC%A1checkpoint%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%E8%A1%A1%E9%87%8Fcheckpoint%E5%8F%91%E7%94%9F%E6%97%B6%E9%97%B4%E6%97%A9%E6%99%9A%E7%9A%84%E4%BF%A1%E6%81%AF%E5%B0%B1%E6%98%AF%E6%89%80%E8%B0%93%E7%9A%84checkpoint_no%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AA%E8%A6%81%E6%8A%8Acheckpoint1%E5%92%8Ccheckpoint2%E8%BF%99%E4%B8%A4%E4%B8%AAblock%E4%B8%AD%E7%9A%84checkpoint_no%E5%80%BC%E8%AF%BB%E5%87%BA%E6%9D%A5%E6%AF%94%E4%B8%80%E4%B8%8B%E5%A4%A7%E5%B0%8F%EF%BC%8C%E5%93%AA%E4%B8%AA%E7%9A%84checkpoint_no%E5%80%BC%E6%9B%B4%E5%A4%A7%EF%BC%8C%E8%AF%B4%E6%98%8E%E5%93%AA%E4%B8%AAblock%E5%AD%98%E5%82%A8%E7%9A%84%E5%B0%B1%E6%98%AF%E6%9C%80%E8%BF%91%E7%9A%84%E4%B8%80%E6%AC%A1checkpoint%E4%BF%A1%E6%81%AF%E3%80%82%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E8%83%BD%E6%8B%BF%E5%88%B0%E6%9C%80%E8%BF%91%E5%8F%91%E7%94%9F%E7%9A%84checkpoint%E5%AF%B9%E5%BA%94%E7%9A%84checkpoint_lsn%E5%80%BC%E4%BB%A5%E5%8F%8A%E5%AE%83%E5%9C%A8redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8Fcheckpoint_offset%E3%80%82%0A%0A%23%23%23%207-2%20%E7%A1%AE%E5%AE%9A%E6%81%A2%E5%A4%8D%E7%9A%84%E7%BB%88%E7%82%B9%0A%0Aredo%E6%97%A5%E5%BF%97%E6%81%A2%E5%A4%8D%E7%9A%84%E8%B5%B7%E7%82%B9%E7%A1%AE%E5%AE%9A%E4%BA%86%EF%BC%8C%E9%82%A3%E7%BB%88%E7%82%B9%E6%98%AF%E5%93%AA%E4%B8%AA%E5%91%A2%EF%BC%9F%E8%BF%99%E4%B8%AA%E8%BF%98%E5%BE%97%E4%BB%8Eblock%E7%9A%84%E7%BB%93%E6%9E%84%E8%AF%B4%E8%B5%B7%E3%80%82%E6%88%91%E4%BB%AC%E8%AF%B4%E5%9C%A8%E5%86%99redo%E6%97%A5%E5%BF%97%E7%9A%84%E6%97%B6%E5%80%99%E9%83%BD%E6%98%AF%E9%A1%BA%E5%BA%8F%E5%86%99%E7%9A%84%EF%BC%8C%E5%86%99%E6%BB%A1%E4%BA%86%E4%B8%80%E4%B8%AAblock%E4%B9%8B%E5%90%8E%E4%BC%9A%E5%86%8D%E5%BE%80%E4%B8%8B%E4%B8%80%E4%B8%AAblock%E4%B8%AD%E5%86%99%EF%BC%9A%0A!%5B16112484cac3924d8dc8104c34619e39.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1027%3A0)%0A%E6%99%AE%E9%80%9Ablock%E7%9A%84log%20block%20header%E9%83%A8%E5%88%86%E6%9C%89%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BALOG_BLOCK_HDR_DATA_LEN%E7%9A%84%E5%B1%9E%E6%80%A7%EF%BC%8C%E8%AF%A5%E5%B1%9E%E6%80%A7%E5%80%BC%E8%AE%B0%E5%BD%95%E4%BA%86%E5%BD%93%E5%89%8Dblock%E9%87%8C%E4%BD%BF%E7%94%A8%E4%BA%86%E5%A4%9A%E5%B0%91%E5%AD%97%E8%8A%82%E7%9A%84%E7%A9%BA%E9%97%B4%E3%80%82%E5%AF%B9%E4%BA%8E%E8%A2%AB%E5%A1%AB%E6%BB%A1%E7%9A%84block%E6%9D%A5%E8%AF%B4%EF%BC%8C%E8%AF%A5%E5%80%BC%E6%B0%B8%E8%BF%9C%E4%B8%BA512%E3%80%82%E5%A6%82%E6%9E%9C%E8%AF%A5%E5%B1%9E%E6%80%A7%E7%9A%84%E5%80%BC%E4%B8%8D%E4%B8%BA512%EF%BC%8C%E9%82%A3%E4%B9%88%E5%B0%B1%E6%98%AF%E5%AE%83%E4%BA%86%EF%BC%8C%E5%AE%83%E5%B0%B1%E6%98%AF%E6%AD%A4%E6%AC%A1%E5%A5%94%E6%BA%83%E6%81%A2%E5%A4%8D%E4%B8%AD%E9%9C%80%E8%A6%81%E6%89%AB%E6%8F%8F%E7%9A%84%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AAblock%E3%80%82%0A%0A%23%23%23%207-3%20%E6%80%8E%E4%B9%88%E6%81%A2%E5%A4%8D%0A%E7%A1%AE%E5%AE%9A%E4%BA%86%E9%9C%80%E8%A6%81%E6%89%AB%E6%8F%8F%E5%93%AA%E4%BA%9Bredo%E6%97%A5%E5%BF%97%E8%BF%9B%E8%A1%8C%E5%A5%94%E6%BA%83%E6%81%A2%E5%A4%8D%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%8E%A5%E4%B8%8B%E6%9D%A5%E5%B0%B1%E6%98%AF%E6%80%8E%E4%B9%88%E8%BF%9B%E8%A1%8C%E6%81%A2%E5%A4%8D%E4%BA%86%E3%80%82%E5%81%87%E8%AE%BE%E7%8E%B0%E5%9C%A8%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E4%B8%AD%E6%9C%895%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%A6%82%E5%9B%BE%EF%BC%9A!%5B57f9cd8db58b5aea8ccad9534a7b97ce.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1029%3A0)%0A%0A%E7%94%B1%E4%BA%8Eredo%200%E5%9C%A8checkpoint_lsn%E5%90%8E%E8%BE%B9%EF%BC%8C%E6%81%A2%E5%A4%8D%E6%97%B6%E5%8F%AF%E4%BB%A5%E4%B8%8D%E7%AE%A1%E5%AE%83%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%8C%89%E7%85%A7redo%E6%97%A5%E5%BF%97%E7%9A%84%E9%A1%BA%E5%BA%8F%E4%BE%9D%E6%AC%A1%E6%89%AB%E6%8F%8Fcheckpoint_lsn%E4%B9%8B%E5%90%8E%E7%9A%84%E5%90%84%E6%9D%A1redo%E6%97%A5%E5%BF%97%EF%BC%8C%E6%8C%89%E7%85%A7%E6%97%A5%E5%BF%97%E4%B8%AD%E8%AE%B0%E8%BD%BD%E7%9A%84%E5%86%85%E5%AE%B9%E5%B0%86%E5%AF%B9%E5%BA%94%E7%9A%84%E9%A1%B5%E9%9D%A2%E6%81%A2%E5%A4%8D%E5%87%BA%E6%9D%A5%E3%80%82%E8%BF%99%E6%A0%B7%E6%B2%A1%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%8C%E4%B8%8D%E8%BF%87InnoDB%E8%BF%98%E6%98%AF%E6%83%B3%E4%BA%86%E4%B8%80%E4%BA%9B%E5%8A%9E%E6%B3%95%E5%8A%A0%E5%BF%AB%E8%BF%99%E4%B8%AA%E6%81%A2%E5%A4%8D%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%0A%0A*%20**%E4%BD%BF%E7%94%A8%E5%93%88%E5%B8%8C%E8%A1%A8**%0A%E6%A0%B9%E6%8D%AEredo%E6%97%A5%E5%BF%97%E7%9A%84space%20ID%E5%92%8Cpage%20number%E5%B1%9E%E6%80%A7%E8%AE%A1%E7%AE%97%E5%87%BA%E6%95%A3%E5%88%97%E5%80%BC%EF%BC%8C%E6%8A%8A**space%20ID%E5%92%8Cpage%20number%E7%9B%B8%E5%90%8C%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%94%BE%E5%88%B0%E5%93%88%E5%B8%8C%E8%A1%A8%E7%9A%84%E5%90%8C%E4%B8%80%E4%B8%AA%E6%A7%BD%E9%87%8C**%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%9C%89%E5%A4%9A%E4%B8%AAspace%20ID%E5%92%8Cpage%20number%E9%83%BD%E7%9B%B8%E5%90%8C%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%83%E4%BB%AC%E4%B9%8B%E9%97%B4%E4%BD%BF%E7%94%A8%E9%93%BE%E8%A1%A8%E8%BF%9E%E6%8E%A5%E8%B5%B7%E6%9D%A5%EF%BC%8C%E6%8C%89%E7%85%A7%E7%94%9F%E6%88%90%E7%9A%84%E5%85%88%E5%90%8E%E9%A1%BA%E5%BA%8F%E9%93%BE%E6%8E%A5%E8%B5%B7%E6%9D%A5%E7%9A%84%EF%BC%8C%E5%A6%82%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A!%5Bace242c06b31920652e45d25b0d9d045.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1031%3A0)%0A%E4%B9%8B%E5%90%8E%E5%B0%B1%E5%8F%AF%E4%BB%A5%E9%81%8D%E5%8E%86%E5%93%88%E5%B8%8C%E8%A1%A8%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AF%B9%E5%90%8C%E4%B8%80%E4%B8%AA%E9%A1%B5%E9%9D%A2%E8%BF%9B%E8%A1%8C%E4%BF%AE%E6%94%B9%E7%9A%84redo%E6%97%A5%E5%BF%97%E9%83%BD%E6%94%BE%E5%9C%A8%E4%BA%86%E4%B8%80%E4%B8%AA%E6%A7%BD%E9%87%8C%EF%BC%8C%E6%89%80%E4%BB%A5%E5%8F%AF%E4%BB%A5%E4%B8%80%E6%AC%A1%E6%80%A7%E5%B0%86%E4%B8%80%E4%B8%AA%E9%A1%B5%E9%9D%A2%E4%BF%AE%E5%A4%8D%E5%A5%BD%EF%BC%88%E9%81%BF%E5%85%8D%E4%BA%86%E5%BE%88%E5%A4%9A%E8%AF%BB%E5%8F%96%E9%A1%B5%E9%9D%A2%E7%9A%84%E9%9A%8F%E6%9C%BAIO%EF%BC%89%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%8F%AF%E4%BB%A5%E5%8A%A0%E5%BF%AB%E6%81%A2%E5%A4%8D%E9%80%9F%E5%BA%A6%E3%80%82%E5%8F%A6%E5%A4%96%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E4%B8%80%E7%82%B9%E7%9A%84%E6%98%AF%EF%BC%8C%E5%90%8C%E4%B8%80%E4%B8%AA%E9%A1%B5%E9%9D%A2%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%98%AF%E6%8C%89%E7%85%A7%E7%94%9F%E6%88%90%E6%97%B6%E9%97%B4%E9%A1%BA%E5%BA%8F%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%E7%9A%84%EF%BC%8C%E6%89%80%E4%BB%A5%E6%81%A2%E5%A4%8D%E7%9A%84%E6%97%B6%E5%80%99%E4%B9%9F%E6%98%AF%E6%8C%89%E7%85%A7%E8%BF%99%E4%B8%AA%E9%A1%BA%E5%BA%8F%E8%BF%9B%E8%A1%8C%E6%81%A2%E5%A4%8D%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%8C%89%E7%85%A7%E7%94%9F%E6%88%90%E6%97%B6%E9%97%B4%E9%A1%BA%E5%BA%8F%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%E7%9A%84%E8%AF%9D%EF%BC%8C%E9%82%A3%E4%B9%88%E5%8F%AF%E8%83%BD%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E3%80%82%E6%AF%94%E5%A6%82%E5%8E%9F%E5%85%88%E7%9A%84%E4%BF%AE%E6%94%B9%E6%93%8D%E4%BD%9C%E6%98%AF%E5%85%88%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E5%86%8D%E5%88%A0%E9%99%A4%E8%AF%A5%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%81%A2%E5%A4%8D%E6%97%B6%E4%B8%8D%E6%8C%89%E7%85%A7%E8%BF%99%E4%B8%AA%E9%A1%BA%E5%BA%8F%E6%9D%A5%EF%BC%8C%E5%B0%B1%E5%8F%AF%E8%83%BD%E5%8F%98%E6%88%90%E5%85%88%E5%88%A0%E9%99%A4%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E5%86%8D%E6%8F%92%E5%85%A5%E4%B8%80%E6%9D%A1%E8%AE%B0%E5%BD%95%EF%BC%8C%E8%BF%99%E6%98%BE%E7%84%B6%E6%98%AF%E9%94%99%E8%AF%AF%E7%9A%84%E3%80%82%0A%0A*%20**%E8%B7%B3%E8%BF%87%E5%B7%B2%E7%BB%8F%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E7%9A%84%E9%A1%B5%E9%9D%A2**%0Acheckpoint_lsn%E4%B9%8B%E5%89%8D%E7%9A%84redo%E6%97%A5%E5%BF%97%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E7%A1%AE%E5%AE%9A%E9%83%BD%E5%B7%B2%E7%BB%8F%E5%88%B7%E5%88%B0%E7%A3%81%E7%9B%98%E4%BA%86%EF%BC%8C%E4%BD%86%E6%98%AFcheckpoint_lsn%E4%B9%8B%E5%90%8E%E7%9A%84redo%E6%97%A5%E5%BF%97%E6%88%91%E4%BB%AC%E4%B8%8D%E8%83%BD%E7%A1%AE%E5%AE%9A%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%88%B7%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E4%B8%BB%E8%A6%81%E6%98%AF%E5%9B%A0%E4%B8%BA%E5%9C%A8%E6%9C%80%E8%BF%91%E5%81%9A%E7%9A%84%E4%B8%80%E6%AC%A1checkpoint%E5%90%8E%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%90%8E%E5%8F%B0%E7%BA%BF%E7%A8%8B%E5%8F%88%E4%B8%8D%E6%96%AD%E7%9A%84%E4%BB%8ELRU%E9%93%BE%E8%A1%A8%E5%92%8Cflush%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%B0%86%E4%B8%80%E4%BA%9B%E8%84%8F%E9%A1%B5%E5%88%B7%E5%87%BABuffer%20Pool%E3%80%82%E8%BF%99%E4%BA%9B%E5%9C%A8checkpoint_lsn%E4%B9%8B%E5%90%8E%E7%9A%84redo%E6%97%A5%E5%BF%97%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%AE%83%E4%BB%AC%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E5%9C%A8%E5%A5%94%E6%BA%83%E5%8F%91%E7%94%9F%E6%97%B6%E5%B7%B2%E7%BB%8F%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%EF%BC%8C%E9%82%A3%E5%9C%A8%E6%81%A2%E5%A4%8D%E6%97%B6%E4%B9%9F%E5%B0%B1%E6%B2%A1%E6%9C%89%E5%BF%85%E8%A6%81%E6%A0%B9%E6%8D%AEredo%E6%97%A5%E5%BF%97%E7%9A%84%E5%86%85%E5%AE%B9%E4%BF%AE%E6%94%B9%E8%AF%A5%E9%A1%B5%E9%9D%A2%E4%BA%86%E3%80%82%0A%E9%82%A3%E5%9C%A8%E6%81%A2%E5%A4%8D%E6%97%B6%E6%80%8E%E4%B9%88%E7%9F%A5%E9%81%93%E6%9F%90%E4%B8%AAredo%E6%97%A5%E5%BF%97%E5%AF%B9%E5%BA%94%E7%9A%84%E8%84%8F%E9%A1%B5%E6%98%AF%E5%90%A6%E5%9C%A8%E5%A5%94%E6%BA%83%E5%8F%91%E7%94%9F%E6%97%B6%E5%B7%B2%E7%BB%8F%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%BA%86%E5%91%A2%EF%BC%9F%E8%BF%99%E8%BF%98%E5%BE%97%E4%BB%8E%E9%A1%B5%E9%9D%A2%E7%9A%84%E7%BB%93%E6%9E%84%E8%AF%B4%E8%B5%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E5%89%8D%E8%BE%B9%E8%AF%B4%E8%BF%87%E6%AF%8F%E4%B8%AA%E9%A1%B5%E9%9D%A2%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BAFile%20Header%E7%9A%84%E9%83%A8%E5%88%86%EF%BC%8C%E5%9C%A8File%20Header%E9%87%8C%E6%9C%89%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BAFIL_PAGE_LSN%E7%9A%84%E5%B1%9E%E6%80%A7%EF%BC%8C%E8%AF%A5%E5%B1%9E%E6%80%A7%E8%AE%B0%E8%BD%BD%E4%BA%86%E6%9C%80%E8%BF%91%E4%B8%80%E6%AC%A1%E4%BF%AE%E6%94%B9%E9%A1%B5%E9%9D%A2%E6%97%B6%E5%AF%B9%E5%BA%94%E7%9A%84lsn%E5%80%BC%EF%BC%88%E5%85%B6%E5%AE%9E%E5%B0%B1%E6%98%AF%E9%A1%B5%E9%9D%A2%E6%8E%A7%E5%88%B6%E5%9D%97%E4%B8%AD%E7%9A%84newest_modification%E5%80%BC%EF%BC%89%E3%80%82%E5%A6%82%E6%9E%9C%E5%9C%A8%E5%81%9A%E4%BA%86%E6%9F%90%E6%AC%A1checkpoint%E4%B9%8B%E5%90%8E%E6%9C%89%E8%84%8F%E9%A1%B5%E8%A2%AB%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E4%B8%AD%EF%BC%8C%E9%82%A3%E4%B9%88%E8%AF%A5%E9%A1%B5%E5%AF%B9%E5%BA%94%E7%9A%84FIL_PAGE_LSN%E4%BB%A3%E8%A1%A8%E7%9A%84lsn%E5%80%BC%E8%82%AF%E5%AE%9A%E5%A4%A7%E4%BA%8Echeckpoint_lsn%E7%9A%84%E5%80%BC%EF%BC%8C%E5%87%A1%E6%98%AF%E7%AC%A6%E5%90%88%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E7%9A%84%E9%A1%B5%E9%9D%A2%E5%B0%B1%E4%B8%8D%E9%9C%80%E8%A6%81%E9%87%8D%E5%A4%8D%E6%89%A7%E8%A1%8Clsn%E5%80%BC%E5%B0%8F%E4%BA%8EFIL_PAGE_LSN%E7%9A%84redo%E6%97%A5%E5%BF%97%E4%BA%86%EF%BC%8C%E6%89%80%E4%BB%A5%E6%9B%B4%E8%BF%9B%E4%B8%80%E6%AD%A5%E6%8F%90%E5%8D%87%E4%BA%86%E5%A5%94%E6%BA%83%E6%81%A2%E5%A4%8D%E7%9A%84%E9%80%9F%E5%BA%A6%E3%80%82%0A%0A%23%23%208%20%E9%81%97%E6%BC%8F%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9ALOG_BLOCK_HDR_NO%E6%98%AF%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E7%9A%84%0A%E5%89%8D%E8%BE%B9%E8%AF%B4%E8%BF%87%EF%BC%8C%E5%AF%B9%E4%BA%8E%E5%AE%9E%E9%99%85%E5%AD%98%E5%82%A8redo%E6%97%A5%E5%BF%97%E7%9A%84%E6%99%AE%E9%80%9A%E7%9A%84log%20block%E6%9D%A5%E8%AF%B4%EF%BC%8C%E5%9C%A8log%20block%20header%E5%A4%84%E6%9C%89%E4%B8%80%E4%B8%AA%E7%A7%B0%E4%B9%8B%E4%B8%BALOG_BLOCK_HDR_NO%E7%9A%84%E5%B1%9E%E6%80%A7%EF%BC%88%E5%BF%98%E8%AE%B0%E4%BA%86%E7%9A%84%E8%AF%9D%E5%9B%9E%E5%A4%B4%E5%86%8D%E7%9C%8B%E7%9C%8B%E5%93%88%EF%BC%89%EF%BC%8C%E6%88%91%E4%BB%AC%E8%AF%B4%E8%BF%99%E4%B8%AA%E5%B1%9E%E6%80%A7%E4%BB%A3%E8%A1%A8%E4%B8%80%E4%B8%AA%E5%94%AF%E4%B8%80%E7%9A%84%E6%A0%87%E5%8F%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B1%9E%E6%80%A7%E6%98%AF%E5%88%9D%E6%AC%A1%E4%BD%BF%E7%94%A8%E8%AF%A5block%E6%97%B6%E5%88%86%E9%85%8D%E7%9A%84%EF%BC%8C%E8%B7%9F%E5%BD%93%E6%97%B6%E7%9A%84%E7%B3%BB%E7%BB%9Flsn%E5%80%BC%E6%9C%89%E5%85%B3%E3%80%82%E4%BD%BF%E7%94%A8%E4%B8%8B%E8%BE%B9%E7%9A%84%E5%85%AC%E5%BC%8F%E8%AE%A1%E7%AE%97%E8%AF%A5block%E7%9A%84LOG_BLOCK_HDR_NO%E5%80%BC%EF%BC%9A%0A%0A**((lsn%20%2F%20512)%20%26%200x3FFFFFFFUL)%20%2B%201**%0A%0A%E8%BF%99%E4%B8%AA%E5%85%AC%E5%BC%8F%E9%87%8C%E7%9A%840x3FFFFFFFUL%E5%8F%AF%E8%83%BD%E8%AE%A9%E5%A4%A7%E5%AE%B6%E6%9C%89%E7%82%B9%E5%9B%B0%E6%83%91%EF%BC%8C%E5%85%B6%E5%AE%9E%E5%AE%83%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E8%A1%A8%E7%A4%BA%E5%8F%AF%E8%83%BD%E6%9B%B4%E4%BA%B2%E5%88%87%E4%B8%80%E7%82%B9%EF%BC%9A%0A!%5Bf3124b9f47dcd102119ce6b5a32ef280.jpeg%5D(en-resource%3A%2F%2Fdatabase%2F1033%3A0)%0A%0A%0A%E4%BB%8E%E5%9B%BE%E4%B8%AD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%87%BA%EF%BC%8C0x3FFFFFFFUL%E5%AF%B9%E5%BA%94%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0%E7%9A%84%E5%89%8D2%E4%BD%8D%E4%B8%BA0%EF%BC%8C%E5%90%8E30%E4%BD%8D%E7%9A%84%E5%80%BC%E9%83%BD%E4%B8%BA1%E3%80%82%E6%88%91%E4%BB%AC%E5%88%9A%E5%BC%80%E5%A7%8B%E5%AD%A6%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%9A%84%E6%97%B6%E5%80%99%E5%B0%B1%E5%AD%A6%E8%BF%87%EF%BC%8C%E4%B8%80%E4%B8%AA%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%BD%8D%E4%B8%8E0%E5%81%9A%E4%B8%8E%E8%BF%90%E7%AE%97%EF%BC%88%26%EF%BC%89%E7%9A%84%E7%BB%93%E6%9E%9C%E8%82%AF%E5%AE%9A%E6%98%AF0%EF%BC%8C%E4%B8%80%E4%B8%AA%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%BD%8D%E4%B8%8E1%E5%81%9A%E4%B8%8E%E8%BF%90%E7%AE%97%EF%BC%88%26%EF%BC%89%E7%9A%84%E7%BB%93%E6%9E%9C%E5%B0%B1%E6%98%AF%E5%8E%9F%E5%80%BC%E3%80%82%E8%AE%A9%E4%B8%80%E4%B8%AA%E6%95%B0%E5%92%8C0x3FFFFFFFUL%E5%81%9A%E4%B8%8E%E8%BF%90%E7%AE%97%E7%9A%84%E6%84%8F%E6%80%9D%E5%B0%B1%E6%98%AF%E8%A6%81%E5%B0%86%E8%AF%A5%E5%80%BC%E7%9A%84%E5%89%8D2%E4%B8%AA%E6%AF%94%E7%89%B9%E4%BD%8D%E7%9A%84%E5%80%BC%E7%BD%AE%E4%B8%BA0%EF%BC%8C%E8%BF%99%E6%A0%B7%E8%AF%A5%E5%80%BC%E5%B0%B1%E8%82%AF%E5%AE%9A%E5%B0%8F%E4%BA%8E%E6%88%96%E7%AD%89%E4%BA%8E0x3FFFFFFFUL%E4%BA%86%E3%80%82%E8%BF%99%E4%B9%9F%E5%B0%B1%E8%AF%B4%E6%98%8E%E4%BA%86%EF%BC%8C%E4%B8%8D%E8%AE%BAlsn%E5%A4%9A%E5%A4%A7%EF%BC%8C((lsn%20%2F%20512)%20%26%200x3FFFFFFFUL)%E7%9A%84%E5%80%BC%E8%82%AF%E5%AE%9A%E5%9C%A80~0x3FFFFFFFUL%E4%B9%8B%E9%97%B4%EF%BC%8C%E5%86%8D%E5%8A%A01%E7%9A%84%E8%AF%9D%E8%82%AF%E5%AE%9A%E5%9C%A81~0x40000000UL%E4%B9%8B%E9%97%B4%E3%80%82%E8%80%8C0x40000000UL%E8%BF%99%E4%B8%AA%E5%80%BC%E5%A4%A7%E5%AE%B6%E5%BA%94%E8%AF%A5%E5%BE%88%E7%86%9F%E6%82%89%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%80%BC%E5%B0%B1%E4%BB%A3%E8%A1%A8%E7%9D%801GB%E3%80%82%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4%E7%B3%BB%E7%BB%9F%E6%9C%80%E5%A4%9A%E8%83%BD%E4%BA%A7%E7%94%9F%E4%B8%8D%E9%87%8D%E5%A4%8D%E7%9A%84LOG_BLOCK_HDR_NO%E5%80%BC%E5%8F%AA%E6%9C%891GB%E4%B8%AA%E3%80%82**%E8%AE%BE%E8%AE%A1InnoDB%E7%9A%84%E5%A4%A7%E5%8F%94%E8%A7%84%E5%AE%9Aredo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E5%8C%85%E5%90%AB%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E6%80%BB%E5%92%8C%E4%B8%8D%E5%BE%97%E8%B6%85%E8%BF%87512GB%EF%BC%8C%E4%B8%80%E4%B8%AAblock%E5%A4%A7%E5%B0%8F%E6%98%AF512%E5%AD%97%E8%8A%82%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4redo%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%BB%84%E4%B8%AD%E5%8C%85%E5%90%AB%E7%9A%84block%E5%9D%97%E6%9C%80%E5%A4%9A%E4%B8%BA1GB%E4%B8%AA%EF%BC%8C%E6%89%80%E4%BB%A5%E6%9C%891GB%E4%B8%AA%E4%B8%8D%E9%87%8D%E5%A4%8D%E7%9A%84%E7%BC%96%E5%8F%B7%E5%80%BC%E4%B9%9F%E5%B0%B1%E5%A4%9F%E7%94%A8%E4%BA%86**%E3%80%82%0A%0A%E5%8F%A6%E5%A4%96%EF%BC%8CLOG_BLOCK_HDR_NO%E5%80%BC%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%AF%94%E7%89%B9%E4%BD%8D%E6%AF%94%E8%BE%83%E7%89%B9%E6%AE%8A%EF%BC%8C%E7%A7%B0%E4%B9%8B%E4%B8%BA**flush%20bit**%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E5%80%BC%E4%B8%BA**1**%EF%BC%8C%E4%BB%A3%E8%A1%A8%E7%9D%80%E6%9C%ACblock%E6%98%AF%E5%9C%A8%E6%9F%90%E6%AC%A1%E5%B0%86log%20buffer%E4%B8%AD%E7%9A%84block%E5%88%B7%E6%96%B0%E5%88%B0%E7%A3%81%E7%9B%98%E7%9A%84%E6%93%8D%E4%BD%9C%E4%B8%AD%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E8%A2%AB%E5%88%B7%E5%85%A5%E7%9A%84block%E3%80%82</center></span>
</div></body></html> 